Do not let guest user disable secure nfc am: a579ca7554
am: 1009054124
am: b85416796d
am: 05dfb08c80
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16691815 Change-Id: Ib69851dd1d88fcba84af0cf940b6f949aab15355
This commit is contained in:
@@ -17,6 +17,12 @@
|
|||||||
package com.android.settings.connecteddevice;
|
package com.android.settings.connecteddevice;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.pm.UserInfo;
|
||||||
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
|
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -54,5 +60,16 @@ public class NfcAndPaymentFragment extends DashboardFragment {
|
|||||||
* For Search.
|
* For Search.
|
||||||
*/
|
*/
|
||||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings);
|
new BaseSearchIndexProvider(R.xml.nfc_and_payment_settings) {
|
||||||
|
@Override
|
||||||
|
protected boolean isPageSearchEnabled(Context context) {
|
||||||
|
final UserManager userManager = context.getSystemService(UserManager.class);
|
||||||
|
final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId());
|
||||||
|
if (myUserInfo.isGuest()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
final PackageManager pm = context.getPackageManager();
|
||||||
|
return pm.hasSystemFeature(PackageManager.FEATURE_NFC);
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -18,9 +18,8 @@ package com.android.settings.nfc;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.nfc.NfcAdapter;
|
import android.nfc.NfcAdapter;
|
||||||
import android.provider.Settings;
|
import android.os.UserManager;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
|
||||||
import androidx.preference.SwitchPreference;
|
import androidx.preference.SwitchPreference;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -32,10 +31,12 @@ import com.android.settings.R;
|
|||||||
*/
|
*/
|
||||||
public class SecureNfcEnabler extends BaseNfcEnabler {
|
public class SecureNfcEnabler extends BaseNfcEnabler {
|
||||||
private final SwitchPreference mPreference;
|
private final SwitchPreference mPreference;
|
||||||
|
private final UserManager mUserManager;
|
||||||
|
|
||||||
public SecureNfcEnabler(Context context, SwitchPreference preference) {
|
public SecureNfcEnabler(Context context, SwitchPreference preference) {
|
||||||
super(context);
|
super(context);
|
||||||
mPreference = preference;
|
mPreference = preference;
|
||||||
|
mUserManager = context.getSystemService(UserManager.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -48,7 +49,7 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
|
|||||||
case NfcAdapter.STATE_ON:
|
case NfcAdapter.STATE_ON:
|
||||||
mPreference.setSummary(R.string.nfc_secure_toggle_summary);
|
mPreference.setSummary(R.string.nfc_secure_toggle_summary);
|
||||||
mPreference.setChecked(mPreference.isChecked());
|
mPreference.setChecked(mPreference.isChecked());
|
||||||
mPreference.setEnabled(true);
|
mPreference.setEnabled(isToggleable());
|
||||||
break;
|
break;
|
||||||
case NfcAdapter.STATE_TURNING_ON:
|
case NfcAdapter.STATE_TURNING_ON:
|
||||||
mPreference.setEnabled(false);
|
mPreference.setEnabled(false);
|
||||||
@@ -58,4 +59,11 @@ public class SecureNfcEnabler extends BaseNfcEnabler {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean isToggleable() {
|
||||||
|
if (mUserManager.isGuestUser()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user