diff --git a/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java b/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java index ebb161c..19558d9 100644 --- a/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java +++ b/android/app/src/main/java/com/vernu/sms/activities/MainActivity.java @@ -96,21 +96,23 @@ public class MainActivity extends AppCompatActivity { defaultSimSlotRadioGroup = findViewById(R.id.defaultSimSlotRadioGroup); - getAvailableSimSlots().forEach(subscriptionInfo -> { - try{ - RadioButton radioButton = new RadioButton(mContext); - radioButton.setText(subscriptionInfo.getDisplayName().toString()); - radioButton.setId(subscriptionInfo.getSubscriptionId()); - radioButton.setOnClickListener(view -> { - SharedPreferenceHelper.setSharedPreferenceInt(mContext, "PREFERED_SIM", subscriptionInfo.getSubscriptionId()); + + try { + getAvailableSimSlots().forEach(subscriptionInfo -> { + RadioButton radioButton = new RadioButton(mContext); + radioButton.setText(subscriptionInfo.getDisplayName().toString()); + radioButton.setId(subscriptionInfo.getSubscriptionId()); + radioButton.setOnClickListener(view -> { + SharedPreferenceHelper.setSharedPreferenceInt(mContext, "PREFERED_SIM", subscriptionInfo.getSubscriptionId()); + }); + radioButton.setChecked(subscriptionInfo.getSubscriptionId() == SharedPreferenceHelper.getSharedPreferenceInt(mContext, "PREFERED_SIM", 0)); + defaultSimSlotRadioGroup.addView(radioButton); }); - radioButton.setChecked(subscriptionInfo.getSubscriptionId() == SharedPreferenceHelper.getSharedPreferenceInt(mContext, "PREFERED_SIM", 0)); - defaultSimSlotRadioGroup.addView(radioButton); } catch (Exception e) { Snackbar.make(defaultSimSlotRadioGroup.getRootView(), "Error: " + e.getMessage(), Snackbar.LENGTH_LONG).show(); Log.e("SIM_SLOT_ERROR", e.getMessage()); } - }); + deviceIdTxt.setText(deviceId); deviceBrandAndModelTxt.setText(Build.BRAND + " " + Build.MODEL); @@ -302,11 +304,11 @@ public class MainActivity extends AppCompatActivity { private List getAvailableSimSlots() { - SubscriptionManager subscriptionManager = SubscriptionManager.from(mContext); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { return new ArrayList<>(); } + SubscriptionManager subscriptionManager = SubscriptionManager.from(mContext); return subscriptionManager.getActiveSubscriptionInfoList(); } diff --git a/android/app/src/main/java/com/vernu/sms/services/FCMService.java b/android/app/src/main/java/com/vernu/sms/services/FCMService.java index 1cbae80..bae9b2c 100644 --- a/android/app/src/main/java/com/vernu/sms/services/FCMService.java +++ b/android/app/src/main/java/com/vernu/sms/services/FCMService.java @@ -37,14 +37,16 @@ public class FCMService extends FirebaseMessagingService { // Check if message contains a data payload. if (remoteMessage.getData().size() > 0) { - + int preferedSim = SharedPreferenceHelper.getSharedPreferenceInt(this, "PREFERED_SIM", -1); for (String receiver : smsPayload.getReceivers()) { - int preferedSim = SharedPreferenceHelper.getSharedPreferenceInt(this, "PREFERED_SIM", 0); + if(preferedSim == -1) { + SMSHelper.sendSMS(receiver, smsPayload.getSmsBody()); + continue; + } try { SMSHelper.sendSMSFromSpecificSim(receiver, smsPayload.getSmsBody(), preferedSim); } catch(Exception e) { Log.d("SMS_SEND_ERROR", e.getMessage()); - SMSHelper.sendSMS(receiver, smsPayload.getSmsBody()); } } }