[Settings] configuration for hidding SIM notification UI

Hide SIM notification UI based on configuraion.

Bug: 240515161
Test: test cases and local testing
Change-Id: I07d9ddeb96ca590decf28126ce97fba4c1783304
This commit is contained in:
Bonian Chen
2022-10-20 10:07:36 +00:00
parent c757a12a4e
commit 504e71c284
4 changed files with 20 additions and 1 deletions

View File

@@ -35,6 +35,7 @@ import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.network.telephony.SubscriptionActionDialogActivity; import com.android.settings.network.telephony.SubscriptionActionDialogActivity;
import java.util.List; import java.util.List;
@@ -65,6 +66,11 @@ public class SimDialogActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (!SubscriptionUtil.isSimHardwareVisible(this)) {
Log.d(TAG, "Not support on device without SIM.");
finish();
return;
}
SimDialogProhibitService.supportDismiss(this); SimDialogProhibitService.supportDismiss(this);
getWindow().addSystemFlags( getWindow().addSystemFlags(

View File

@@ -77,6 +77,10 @@ public class SimSelectNotification extends BroadcastReceiver {
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent) {
if (!SubscriptionUtil.isSimHardwareVisible(context)) {
Log.w(TAG, "Received unexpected intent with null action.");
return;
}
String action = intent.getAction(); String action = intent.getAction();
if (action == null) { if (action == null) {

View File

@@ -38,6 +38,7 @@ import androidx.core.content.ContextCompat;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.SettingsBaseActivity; import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.network.SubscriptionUtil;
import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.Futures;
@@ -48,6 +49,7 @@ import com.google.common.util.concurrent.MoreExecutors;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
public class SmartForwardingActivity extends SettingsBaseActivity { public class SmartForwardingActivity extends SettingsBaseActivity {
static final String LOG_TAG = SmartForwardingActivity.class.toString();
final ListeningExecutorService service = final ListeningExecutorService service =
MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor()); MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
@@ -55,6 +57,12 @@ public class SmartForwardingActivity extends SettingsBaseActivity {
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (!SubscriptionUtil.isSimHardwareVisible(this)) {
Log.d(LOG_TAG, "Not support on device without SIM.");
finish();
return;
}
final Toolbar toolbar = findViewById(R.id.action_bar); final Toolbar toolbar = findViewById(R.id.action_bar);
toolbar.setVisibility(View.VISIBLE); toolbar.setVisibility(View.VISIBLE);
setActionBar(toolbar); setActionBar(toolbar);
@@ -166,4 +174,4 @@ public class SmartForwardingActivity extends SettingsBaseActivity {
.create(); .create();
mDialog.show(); mDialog.show();
} }
} }

View File

@@ -143,6 +143,7 @@ public class SimSelectNotificationTest {
when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName); when(mSubInfo.getDisplayName()).thenReturn(mFakeDisplayName);
when(mContext.getResources()).thenReturn(mResources); when(mContext.getResources()).thenReturn(mResources);
when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
when(mResources.getText(R.string.enable_sending_mms_notification_title)) when(mResources.getText(R.string.enable_sending_mms_notification_title))
.thenReturn(mFakeNotificationTitle); .thenReturn(mFakeNotificationTitle);
when(mResources.getText(R.string.enable_mms_notification_channel_title)) when(mResources.getText(R.string.enable_mms_notification_channel_title))