Use FooterPreference in xml explicitly

We don't rely on FooterPreferenceMixinCompat
to create footer preference in dashboard fragment.

Instead, declare a FooterPreference explicitly in
xml of screen.

It makes more sense for our referenceController design.

Test: visual, robotest
Bug: 124129485
Change-Id: I0b0c0f9e38d85aa89b815ce2b84ddff30a1d206b
This commit is contained in:
tmfang
2019-05-31 18:24:29 +08:00
parent f1c0f23510
commit 24c3324268
10 changed files with 84 additions and 109 deletions

View File

@@ -26,7 +26,6 @@ import android.os.Looper;
import android.provider.Settings;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.BasePreferenceController;
@@ -40,7 +39,7 @@ import com.android.settingslib.widget.FooterPreference;
*/
public class GameDriverFooterPreferenceController extends BasePreferenceController
implements GameDriverContentObserver.OnGameDriverContentChangedListener, LifecycleObserver,
OnStart, OnStop {
OnStart, OnStop {
private final ContentResolver mContentResolver;
@VisibleForTesting
@@ -48,8 +47,8 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
private FooterPreference mPreference;
public GameDriverFooterPreferenceController(Context context) {
super(context, FooterPreference.KEY_FOOTER);
public GameDriverFooterPreferenceController(Context context, String key) {
super(context, key);
mContentResolver = context.getContentResolver();
mGameDriverContentObserver =
new GameDriverContentObserver(new Handler(Looper.getMainLooper()), this);
@@ -58,8 +57,8 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
@Override
public int getAvailabilityStatus() {
return Settings.Global.getInt(
mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
== GAME_DRIVER_OFF
mContentResolver, Settings.Global.GAME_DRIVER_ALL_APPS, GAME_DRIVER_DEFAULT)
== GAME_DRIVER_OFF
? AVAILABLE_UNSEARCHABLE
: CONDITIONALLY_UNAVAILABLE;
}
@@ -80,11 +79,6 @@ public class GameDriverFooterPreferenceController extends BasePreferenceControll
mGameDriverContentObserver.unregister(mContentResolver);
}
@Override
public void updateState(Preference preference) {
preference.setVisible(isAvailable());
}
@Override
public void onGameDriverContentChanged() {
updateState(mPreference);