Loading src/com/android/settings/wifi/WifiScanModeActivity.java +33 −21 Original line number Diff line number Diff line Loading @@ -39,26 +39,24 @@ import com.android.settings.Utils; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.wifi.WifiPermissionChecker; /** * This activity requests users permission to allow scanning even when Wi-Fi is turned off */ /** This activity requests users permission to allow scanning even when Wi-Fi is turned off */ public class WifiScanModeActivity extends FragmentActivity { private static final String TAG = "WifiScanModeActivity"; private DialogFragment mDialog; @VisibleForTesting String mApp; @VisibleForTesting WifiPermissionChecker mWifiPermissionChecker; @VisibleForTesting String mApp; @VisibleForTesting WifiPermissionChecker mWifiPermissionChecker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addSystemFlags( getWindow() .addSystemFlags( WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); Intent intent = getIntent(); if (savedInstanceState == null) { if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE .equals(intent.getAction())) { if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE.equals( intent.getAction())) { refreshAppLabel(); } else { finish(); Loading Loading @@ -92,6 +90,12 @@ public class WifiScanModeActivity extends FragmentActivity { return; } if (!isWifiScanModeConfigAllowed(getApplicationContext())) { Log.e(TAG, "This user is not allowed to configure Wi-Fi Scan Mode!"); finish(); return; } if (mDialog == null) { mDialog = AlertDialogFragment.newInstance(mApp); mDialog.show(getSupportFragmentManager(), "dialog"); Loading Loading @@ -140,6 +144,7 @@ public class WifiScanModeActivity extends FragmentActivity { } private final String mApp; public AlertDialogFragment(String app) { super(); mApp = app; Loading @@ -158,25 +163,27 @@ public class WifiScanModeActivity extends FragmentActivity { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) .setMessage(TextUtils.isEmpty(mApp) ? getString(R.string.wifi_scan_always_turn_on_message_unknown) : getString(R.string.wifi_scan_always_turnon_message, mApp)) .setPositiveButton(R.string.wifi_scan_always_confirm_allow, .setMessage( TextUtils.isEmpty(mApp) ? getString(R.string.wifi_scan_always_turn_on_message_unknown) : getString(R.string.wifi_scan_always_turnon_message, mApp)) .setPositiveButton( R.string.wifi_scan_always_confirm_allow, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((WifiScanModeActivity) getActivity()).doPositiveClick(); } } ) .setNegativeButton(R.string.wifi_scan_always_confirm_deny, }) .setNegativeButton( R.string.wifi_scan_always_confirm_deny, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((WifiScanModeActivity) getActivity()).doNegativeClick(); } } ) }) .create(); } @Override public void onCancel(DialogInterface dialog) { ((WifiScanModeActivity) getActivity()).doNegativeClick(); Loading @@ -184,9 +191,14 @@ public class WifiScanModeActivity extends FragmentActivity { } private static boolean isGuestUser(Context context) { if (context == null) return false; final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return false; return userManager.isGuestUser(); } private static boolean isWifiScanModeConfigAllowed(Context context) { final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return true; return !userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_LOCATION); } } Loading
src/com/android/settings/wifi/WifiScanModeActivity.java +33 −21 Original line number Diff line number Diff line Loading @@ -39,26 +39,24 @@ import com.android.settings.Utils; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.wifi.WifiPermissionChecker; /** * This activity requests users permission to allow scanning even when Wi-Fi is turned off */ /** This activity requests users permission to allow scanning even when Wi-Fi is turned off */ public class WifiScanModeActivity extends FragmentActivity { private static final String TAG = "WifiScanModeActivity"; private DialogFragment mDialog; @VisibleForTesting String mApp; @VisibleForTesting WifiPermissionChecker mWifiPermissionChecker; @VisibleForTesting String mApp; @VisibleForTesting WifiPermissionChecker mWifiPermissionChecker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().addSystemFlags( getWindow() .addSystemFlags( WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); Intent intent = getIntent(); if (savedInstanceState == null) { if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE .equals(intent.getAction())) { if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE.equals( intent.getAction())) { refreshAppLabel(); } else { finish(); Loading Loading @@ -92,6 +90,12 @@ public class WifiScanModeActivity extends FragmentActivity { return; } if (!isWifiScanModeConfigAllowed(getApplicationContext())) { Log.e(TAG, "This user is not allowed to configure Wi-Fi Scan Mode!"); finish(); return; } if (mDialog == null) { mDialog = AlertDialogFragment.newInstance(mApp); mDialog.show(getSupportFragmentManager(), "dialog"); Loading Loading @@ -140,6 +144,7 @@ public class WifiScanModeActivity extends FragmentActivity { } private final String mApp; public AlertDialogFragment(String app) { super(); mApp = app; Loading @@ -158,25 +163,27 @@ public class WifiScanModeActivity extends FragmentActivity { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { return new AlertDialog.Builder(getActivity()) .setMessage(TextUtils.isEmpty(mApp) ? getString(R.string.wifi_scan_always_turn_on_message_unknown) : getString(R.string.wifi_scan_always_turnon_message, mApp)) .setPositiveButton(R.string.wifi_scan_always_confirm_allow, .setMessage( TextUtils.isEmpty(mApp) ? getString(R.string.wifi_scan_always_turn_on_message_unknown) : getString(R.string.wifi_scan_always_turnon_message, mApp)) .setPositiveButton( R.string.wifi_scan_always_confirm_allow, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((WifiScanModeActivity) getActivity()).doPositiveClick(); } } ) .setNegativeButton(R.string.wifi_scan_always_confirm_deny, }) .setNegativeButton( R.string.wifi_scan_always_confirm_deny, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { ((WifiScanModeActivity) getActivity()).doNegativeClick(); } } ) }) .create(); } @Override public void onCancel(DialogInterface dialog) { ((WifiScanModeActivity) getActivity()).doNegativeClick(); Loading @@ -184,9 +191,14 @@ public class WifiScanModeActivity extends FragmentActivity { } private static boolean isGuestUser(Context context) { if (context == null) return false; final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return false; return userManager.isGuestUser(); } private static boolean isWifiScanModeConfigAllowed(Context context) { final UserManager userManager = context.getSystemService(UserManager.class); if (userManager == null) return true; return !userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_LOCATION); } }