diff --git a/res/values/evolution_strings.xml b/res/values/evolution_strings.xml index 14de821578a..7cdaa96e6dc 100644 --- a/res/values/evolution_strings.xml +++ b/res/values/evolution_strings.xml @@ -197,4 +197,7 @@ No storage restrict Remove the restriction when selecting folders through Storage Access Framework. Can be convenient in some cases but may lead to privacy leaks. + + + Disable mirroring confirmation diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java index 2575225e81c..11b12f08a61 100644 --- a/src/com/android/settings/wfd/WifiDisplaySettings.java +++ b/src/com/android/settings/wfd/WifiDisplaySettings.java @@ -37,6 +37,7 @@ import android.net.wifi.p2p.WifiP2pManager.Channel; import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; import android.util.Slog; @@ -84,6 +85,7 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem private static final boolean DEBUG = false; private static final int MENU_ID_ENABLE_WIFI_DISPLAY = Menu.FIRST; + private static final int MENU_ID_DISABLE_CONFIRM_DIALOGUE = Menu.FIRST + 1; private static final int CHANGE_SETTINGS = 1 << 0; private static final int CHANGE_ROUTES = 1 << 1; @@ -104,6 +106,7 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem private int mPendingChanges; private boolean mWifiDisplayOnSetting; + private boolean mDisableConfirmDialogue; private WifiDisplayStatus mWifiDisplayStatus; private TextView mEmptyView; @@ -203,6 +206,10 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem R.string.wifi_display_enable_menu_item); item.setCheckable(true); item.setChecked(mWifiDisplayOnSetting); + MenuItem itemSecond = menu.add(Menu.NONE, MENU_ID_DISABLE_CONFIRM_DIALOGUE, 0, + R.string.mirroring_confirmation_disable_menu_item); + itemSecond.setCheckable(true); + itemSecond.setChecked(mDisableConfirmDialogue); } super.onCreateOptionsMenu(menu, inflater); } @@ -216,6 +223,13 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem Settings.Global.putInt(getContentResolver(), Settings.Global.WIFI_DISPLAY_ON, mWifiDisplayOnSetting ? 1 : 0); return true; + case MENU_ID_DISABLE_CONFIRM_DIALOGUE: + mDisableConfirmDialogue = !item.isChecked(); + item.setChecked(mDisableConfirmDialogue); + SystemProperties.set( + "persist.sys.disable_mirroring_confirmation_dialog", + Boolean.toString(mDisableConfirmDialogue)); + return true; } return super.onOptionsItemSelected(item); } @@ -253,6 +267,8 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment implem Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON, 0) != 0; mWpsConfig = Settings.Global.getInt(getContentResolver(), Settings.Global.WIFI_DISPLAY_WPS_CONFIG, WpsInfo.INVALID); + mDisableConfirmDialogue = SystemProperties.getBoolean( + "persist.sys.disable_mirroring_confirmation_dialog", false); // The wifi display enabled setting may have changed. invalidateOptions = true;