Refactor nfc preference controller
- Remove BaseNfcPreferenceController. - NfcPreferenceController inherit from TogglePreferenceController. - AndroidBeamPreferenceController inherit from BasePreferenceController. - Override getIntentFilter in NfcPreferenceController to listen changes. - Add an API (hasAsyncUpdate) into BasePreferenceController to distinguish the setting which is updated asynchronously. Change-Id: I7c9c48ea7f1ad01a02524beabf9d30baa3db891f Fixes: 67997761 Fixes: 74887543 Test: RunSettingsRoboTests
This commit is contained in:
@@ -20,7 +20,6 @@ import android.content.Context;
|
||||
import android.nfc.NfcAdapter;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -36,18 +35,14 @@ public class AndroidBeamEnabler extends BaseNfcEnabler {
|
||||
|
||||
public AndroidBeamEnabler(Context context, RestrictedPreference preference) {
|
||||
super(context);
|
||||
|
||||
mPreference = preference;
|
||||
|
||||
mBeamDisallowedBySystem = RestrictedLockUtils.hasBaseUserRestriction(context,
|
||||
UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
|
||||
|
||||
if (!isNfcAvailable()) {
|
||||
// NFC is not supported
|
||||
mPreference.setEnabled(false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mBeamDisallowedBySystem) {
|
||||
mPreference.setEnabled(false);
|
||||
}
|
||||
|
Reference in New Issue
Block a user