Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1cedea23 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Refactor nfc preference controller"

parents 93bbca22 3b387a02
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -32,12 +32,14 @@
        android:title="@string/nfc_quick_toggle_title"
        android:icon="@drawable/ic_nfc"
        android:summary="@string/nfc_quick_toggle_summary"
        settings:controller="com.android.settings.nfc.NfcPreferenceController"
        android:order="-7"/>

    <com.android.settingslib.RestrictedPreference
        android:fragment="com.android.settings.nfc.AndroidBeam"
        android:key="android_beam_settings"
        android:title="@string/android_beam_settings_title"
        settings:controller="com.android.settings.nfc.AndroidBeamPreferenceController"
        android:icon="@drawable/ic_android"
        android:order="-6"/>

+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public class AdvancedConnectedDeviceController extends BasePreferenceController
     */
    public static int getConnectedDevicesSummaryResourceId(Context context) {
        final NfcPreferenceController nfcPreferenceController =
                new NfcPreferenceController(context);
                new NfcPreferenceController(context, NfcPreferenceController.KEY_TOGGLE_NFC);

        return getConnectedDevicesSummaryResourceId(nfcPreferenceController,
                isDrivingModeAvailable(context));
+0 −11
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import com.android.settings.R;
import com.android.settings.bluetooth.BluetoothFilesPreferenceController;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.nfc.AndroidBeamPreferenceController;
import com.android.settings.nfc.NfcPreferenceController;
import com.android.settings.print.PrintSettingPreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
@@ -72,25 +71,15 @@ public class AdvancedConnectedDeviceDashboardFragment extends DashboardFragment
            Lifecycle lifecycle) {
        final List<AbstractPreferenceController> controllers = new ArrayList<>();

        final AndroidBeamPreferenceController beamPreferenceController =
                new AndroidBeamPreferenceController(context);
        controllers.add(beamPreferenceController);

        controllers.add(new BluetoothFilesPreferenceController(context));
        controllers.add(new BluetoothOnWhileDrivingPreferenceController(context));

        final PrintSettingPreferenceController printerController =
                new PrintSettingPreferenceController(context);
        final NfcPreferenceController nfcPreferenceController =
                new NfcPreferenceController(context);

        if (lifecycle != null) {
            lifecycle.addObserver(beamPreferenceController);
            lifecycle.addObserver(printerController);
            lifecycle.addObserver(nfcPreferenceController);
        }

        controllers.add(nfcPreferenceController);
        controllers.add(printerController);

        return controllers;
+10 −0
Original line number Diff line number Diff line
@@ -251,6 +251,16 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
        return false;
    }

    /**
     * @return {@code true} if the setting update asynchronously.
     * <p>
     * For example, a Wifi controller would return true, because it needs to update the radio
     * and wait for it to turn on.
     */
    public boolean hasAsyncUpdate() {
        return false;
    }

    /**
     * Updates non-indexable keys for search provider.
     *
+0 −5
Original line number Diff line number Diff line
@@ -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);
        }
Loading