Loading Sesamo/Sesamo-release.apk 0 → 100644 +2.12 MiB File added.No diff preview for this file type. View file Sesamo/build.gradle +2 −0 Changes for Sesamo/build.gradle: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -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' } Loading Sesamo/src/main/AndroidManifest.xml +3 −6 Changes for Sesamo/src/main/AndroidManifest.xml: 3 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading Sesamo/src/main/java/it/giacomo/sesamo/MainActivity.java +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); Loading @@ -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", ""); Loading @@ -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) { Loading Loading @@ -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; } } Sesamo/src/main/java/it/giacomo/sesamo/MainActivityWidget.java +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 Loading @@ -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. Loading @@ -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 Loading @@ -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 Loading
Sesamo/Sesamo-release.apk 0 → 100644 +2.12 MiB File added.No diff preview for this file type. View file
Sesamo/build.gradle +2 −0 Changes for Sesamo/build.gradle: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -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' } Loading
Sesamo/src/main/AndroidManifest.xml +3 −6 Changes for Sesamo/src/main/AndroidManifest.xml: 3 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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> Loading
Sesamo/src/main/java/it/giacomo/sesamo/MainActivity.java +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); Loading @@ -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", ""); Loading @@ -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) { Loading Loading @@ -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; } }
Sesamo/src/main/java/it/giacomo/sesamo/MainActivityWidget.java +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 Loading @@ -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. Loading @@ -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 Loading @@ -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