Add video to each gesture preference screen.
- Refactor GesturePreference to a generic VideoPreference. - The old video_preference.xml is only for magnification video, so renamed. - And use VideoPreference in gesture setting pages. - Refactor common logic into GesturePreferenceController. Bug: 32637613 Test: RunSettingsRoboTests Change-Id: I58580b01a32873cb32c5dc5bf2ec021d5b1400cc
This commit is contained in:
@@ -20,23 +20,22 @@ import android.annotation.UserIdInt;
|
||||
import android.content.Context;
|
||||
import android.provider.Settings;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.TwoStatePreference;
|
||||
|
||||
import com.android.internal.hardware.AmbientDisplayConfiguration;
|
||||
import com.android.settings.core.PreferenceController;
|
||||
import com.android.settings.core.lifecycle.Lifecycle;
|
||||
|
||||
public class DoubleTapScreenPreferenceController extends PreferenceController
|
||||
implements Preference.OnPreferenceChangeListener {
|
||||
public class DoubleTapScreenPreferenceController extends GesturePreferenceController {
|
||||
|
||||
private static final String PREF_KEY_VIDEO = "gesture_double_tap_screen_video";
|
||||
private static final String PREF_KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen";
|
||||
|
||||
private final AmbientDisplayConfiguration mAmbientConfig;
|
||||
@UserIdInt
|
||||
private final int mUserId;
|
||||
|
||||
public DoubleTapScreenPreferenceController(Context context, AmbientDisplayConfiguration config,
|
||||
@UserIdInt int userId) {
|
||||
super(context);
|
||||
public DoubleTapScreenPreferenceController(Context context, Lifecycle lifecycle,
|
||||
AmbientDisplayConfiguration config, @UserIdInt int userId) {
|
||||
super(context, lifecycle);
|
||||
mAmbientConfig = config;
|
||||
mUserId = userId;
|
||||
}
|
||||
@@ -46,25 +45,6 @@ public class DoubleTapScreenPreferenceController extends PreferenceController
|
||||
return mAmbientConfig.pulseOnDoubleTapAvailable();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handlePreferenceTreeClick(Preference preference) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
final boolean isEnabled = mAmbientConfig.pulseOnDoubleTapEnabled(mUserId);
|
||||
if (preference != null) {
|
||||
if (preference instanceof TwoStatePreference) {
|
||||
((TwoStatePreference) preference).setChecked(isEnabled);
|
||||
} else {
|
||||
preference.setSummary(isEnabled
|
||||
? com.android.settings.R.string.gesture_setting_on
|
||||
: com.android.settings.R.string.gesture_setting_off);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPreferenceKey() {
|
||||
return PREF_KEY_DOUBLE_TAP_SCREEN;
|
||||
@@ -77,4 +57,14 @@ public class DoubleTapScreenPreferenceController extends PreferenceController
|
||||
Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP, enabled ? 1 : 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getVideoPrefKey() {
|
||||
return PREF_KEY_VIDEO;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isSwitchPrefEnabled() {
|
||||
return mAmbientConfig.pulseOnDoubleTapEnabled(mUserId);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user