Customize the availability of Testing Settings Menu

Add the possibility to disable the Testing Settings Menu
(secret code *#*#4636#*#*) on user builds.

Bug: 306338055
Test: atest TestingSettingsBroadcastReceiverTest
Flag: NA
No-Typo-Check: trivial
Change-Id: I451f094864bd9a0ad8086e9646e2d666ab2388dc
This commit is contained in:
David Magno
2024-04-23 18:08:11 +02:00
committed by Fan Wu
parent 7fb8f02f4e
commit 8839335d58
3 changed files with 80 additions and 1 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.telephony.TelephonyManager;
import com.android.settings.Settings.TestingSettingsActivity;
@@ -32,11 +33,17 @@ public class TestingSettingsBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null && intent.getAction() != null
&& intent.getAction().equals(TelephonyManager.ACTION_SECRET_CODE)) {
&& intent.getAction().equals(TelephonyManager.ACTION_SECRET_CODE)
&& !isDisabled(context)) {
Intent i = new Intent(Intent.ACTION_MAIN);
i.setClass(context, TestingSettingsActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
private boolean isDisabled(Context context) {
return "user".equals(Build.TYPE) && context.getResources().getBoolean(
R.bool.config_hide_testing_settings_menu_for_user_builds);
}
}