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:
Chihhang Chuang
2018-03-29 17:26:04 +08:00
parent 8f36eb8cfb
commit 3b387a028a
19 changed files with 474 additions and 214 deletions

View File

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