Commit 5c904fa9 authored by Giacomo Lavermicocca's avatar Giacomo Lavermicocca Committed by Pietro Saccardi
Browse files

Fix some bugs - remove unused files

parent 84fcfedc
Loading
Loading
Loading
Loading
+2.12 MiB

File added.

No diff preview for this file type.

+2 −0
Changes for Sesamo/build.gradle: 2 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ dependencies {
    compile 'com.google.firebase:firebase-messaging:10.0.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'

    compile 'com.squareup.okhttp3:okhttp:3.2.0'
}


+3 −6
Changes for Sesamo/src/main/AndroidManifest.xml: 3 added lines, 6 removed lines.
Original line number Diff line number Diff line
@@ -5,12 +5,14 @@
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
@@ -42,11 +44,6 @@
            android:label="Titolo..."
            android:theme="@style/AppTheme.NoActionBar"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

+107 −76
Changes for Sesamo/src/main/java/it/giacomo/sesamo/MainActivity.java: 107 added lines, 76 removed lines.
Original line number Diff line number Diff line
package it.giacomo.sesamo;

import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

import com.google.firebase.messaging.FirebaseMessaging;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.util.UUID;

import it.giacomo.sesamo.managers.SendSms;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.RequestBody;
import okhttp3.Response;

public class MainActivity extends AppCompatActivity {

    int mAppWidgetId;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        FirebaseMessaging.getInstance().subscribeToTopic("OPEN");

        String value = "";

        //sono master!!!!
        if(getIntent().getExtras() != null) {
            value = getIntent().getExtras().getString("OPEN"); // lo faccio una volta per tutte!

            boolean isFromFCM = getIntent().getExtras().getBoolean("IS_FROM_FCM");
            if(isFromFCM)
            {
                SendIt(value);
                return;
            }


            setContentView(R.layout.activity_main);

            Button btnEsci = (Button) findViewById(R.id.btnEsci);
@@ -39,17 +57,43 @@ public class MainActivity extends AppCompatActivity {
                }
            });

        FirebaseMessaging.getInstance().subscribeToTopic("OPEN");
            if(value.contains("OPEN")) { //meglio essere previdenti

                TextView mTextField = (TextView) findViewById(R.id.timer);

        mTextField.setText("Benvenuto");

                TextView mTextSummary = (TextView) findViewById(R.id.tvSummary);

        if(getIntent().getExtras() != null) {
            String value = getIntent().getExtras().getString("OPEN");
                boolean prefMaster = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getBoolean("prefMaster", false);
                if(prefMaster) {
                    SendIt(value);
                }
                else
                {
                    SendPost(value);
                }

                SetText(mTextSummary, value);

                CountD(mTextField);
            }

            return;
        }

        setContentView(R.layout.activity_main);

        Button btnEsci = (Button) findViewById(R.id.btnEsci);

        btnEsci.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity.this.finish();
            }
        });
    }

    private void SendIt(String value)
    {
        SendSms sms = new SendSms();

        String prefContatto = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("prefContatto", "");
@@ -57,11 +101,6 @@ public class MainActivity extends AppCompatActivity {
        int prefOperatore = Integer.valueOf(PreferenceManager.getDefaultSharedPreferences(getApplicationContext()).getString("prefOperatore", "0"));

        sms.Do(prefOperatore, prefContatto, null, value, null, null);

            SetText(mTextSummary, value);

            CountD(mTextField);
        }
    }

    private void SetText(TextView mTextSummary, String function) {
@@ -98,71 +137,63 @@ public class MainActivity extends AppCompatActivity {



    private void sendSMS(final String phoneNumber, final String message) {
        String SENT = "SMS_SENT";
        String DELIVERED = "SMS_DELIVERED";
    //-------------------- HTTP WAY -------------------------

        PendingIntent sentPI = PendingIntent.getBroadcast(this, 0, new Intent(
                SENT), 0);
    private JSONObject SendPost(String message)
    {
        final String url = "https://fcm.googleapis.com/fcm/send";

        PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
                new Intent(DELIVERED), 0);
        JSONObject jsonObjectResp = null;

        // ---when the SMS has been sent---
        registerReceiver(new BroadcastReceiver() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                    case Activity.RESULT_OK:
                        ContentValues values = new ContentValues();
                        //for (int i = 0; i < MobNumber.size() - 1; i++) {
                            values.put("address", phoneNumber);// txtPhoneNo.getText().toString());
                            values.put("body", message);
//        {
//            "to": "/topics/OPEN",
//                "data" : {
//            "body" : "OPEN_3",
//                    "priority" : "high",
//                    "UUID" : "FBFGBGBBGT"
//        }
                        getContentResolver().insert(
                                Uri.parse("content://sms/sent"), values);
                        Toast.makeText(getBaseContext(), "SMS sent",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
                        Toast.makeText(getBaseContext(), "Generic failure",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NO_SERVICE:
                        Toast.makeText(getBaseContext(), "No service",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_NULL_PDU:
                        Toast.makeText(getBaseContext(), "Null PDU",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case SmsManager.RESULT_ERROR_RADIO_OFF:
                        Toast.makeText(getBaseContext(), "Radio off",
                                Toast.LENGTH_SHORT).show();
                        break;
                }
//        }

        JSONObject json = new JSONObject();
        try {
            json.put("to", "/topics/OPEN");

            JSONObject jo = new JSONObject();
            jo.put("body", message);
            jo.put("priority", "high");
            jo.put("UUID", UUID.randomUUID());

            json.put("data", jo);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        }, new IntentFilter(SENT));

        // ---when the SMS has been delivered---
        registerReceiver(new BroadcastReceiver() {
        MediaType JSON = MediaType.parse("application/json; charset=utf-8");
        OkHttpClient client = new OkHttpClient();

        okhttp3.RequestBody body = RequestBody.create(JSON, json.toString());
        okhttp3.Request request = new okhttp3.Request.Builder()
                .url(url)
                .post(body)
                .addHeader("Authorization", "key=AAAAe1ej4BE:APA91bHt_SbgNw9Hgew90qpNcF9ioigkeJ2J-WQIui-jP5qMDxla1XQAXz0QbeBNd3doN7k0xbXOcdtBWYkvkcbRc75EBuS6ZUAwO4p3np3O_qqUPDkniYf1l5iPlxZzT1NeWt5ZgXA-")
                //.addHeader("Content-Type", "application/json")
                .build();

        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onReceive(Context arg0, Intent arg1) {
                switch (getResultCode()) {
                    case Activity.RESULT_OK:
                        Toast.makeText(getBaseContext(), "SMS delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
                    case Activity.RESULT_CANCELED:
                        Toast.makeText(getBaseContext(), "SMS not delivered",
                                Toast.LENGTH_SHORT).show();
                        break;
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String networkResp = response.body().string();
            }
        }, new IntentFilter(DELIVERED));
        });


        SmsManager sms = SmsManager.getDefault();
        sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);
        return jsonObjectResp;
    }

}
+6 −10
Changes for Sesamo/src/main/java/it/giacomo/sesamo/MainActivityWidget.java: 6 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -6,7 +6,6 @@ import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.widget.RemoteViews;
import android.widget.Toast;

/**
 * Created by Giacomo on 26/08/2017.
@@ -19,26 +18,22 @@ public class MainActivityWidget extends AppWidgetProvider {

            RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.activity_main_widget);

            views.setOnClickPendingIntent(R.id.btn_esco, makePIntent(context, 0, "OPEN_0"));
            views.setOnClickPendingIntent(R.id.btn_garage, makePIntent(context, 1, "OPEN_1"));
            views.setOnClickPendingIntent(R.id.btn_portone, makePIntent(context, 2, "OPEN_2"));
            views.setOnClickPendingIntent(R.id.btn_entro, makePIntent(context, 3, "OPEN_3"));
            views.setOnClickPendingIntent(R.id.btn_esco, makePIntent(context, "OPEN_0"));
            views.setOnClickPendingIntent(R.id.btn_garage, makePIntent(context, "OPEN_1"));
            views.setOnClickPendingIntent(R.id.btn_portone, makePIntent(context, "OPEN_2"));
            views.setOnClickPendingIntent(R.id.btn_entro, makePIntent(context, "OPEN_3"));

            appWidgetManager.updateAppWidget(currentWidgetId, views);

            Toast.makeText(context, "widget added", Toast.LENGTH_SHORT).show();
        }
    }

    private PendingIntent makePIntent(Context context, int value, String val)
    public static PendingIntent makePIntent(Context context, String val)
    {
        Intent intent = new Intent(context, MainActivityWidget.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.setAction(val);
        intent.putExtra("OPEN", val);
        //PendingIntent pending = PendingIntent.getActivity(context, 0,intent, 0);
        return PendingIntent.getBroadcast(context, 0, intent, 0);
        //return pending;
    }

    @Override
@@ -49,6 +44,7 @@ public class MainActivityWidget extends AppWidgetProvider {
            Intent nextIntent = new Intent(context, MainActivity.class);
            nextIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            nextIntent.putExtra("OPEN", intent.getAction());
            nextIntent.putExtra("IS_FROM_WIDGET", true);

            context.startActivity(nextIntent);
        }
Loading