Settings: Allow skipping mirroring confirmation dialog [2/2]

Change-Id: I733cd7a235024d625342013641858e2c4790fb75
This commit is contained in:
someone5678
2024-07-06 08:18:57 +09:00
committed by Joey
parent c45ca9ea52
commit fd1f421ebf
2 changed files with 19 additions and 0 deletions

View File

@@ -197,4 +197,7 @@
<!-- No storage restrict -->
<string name="no_storage_restrict_title">No storage restrict</string>
<string name="no_storage_restrict_summary">Remove the restriction when selecting folders through Storage Access Framework. Can be convenient in some cases but may lead to privacy leaks.</string>
<!-- Wifi Display settings. The title of a menu item to disable mirroring confimration [CHAR LIMIT=40] -->
<string name="mirroring_confirmation_disable_menu_item">Disable mirroring confirmation</string>
</resources>

View File

@@ -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;