Merge changes I32ba2b6b,I3f473d28,I717eb2a2 into main

* changes:
  Touchpad: add @NonNull annotations to controller constructors
  Touchpad: mark MetricsFeatureProviders final
  Touchpad: fix some NullAway warnings
This commit is contained in:
Harry Cutts
2025-01-09 02:38:54 -08:00
committed by Android (Google) Code Review
11 changed files with 64 additions and 46 deletions

View File

@@ -29,6 +29,7 @@ import android.provider.SettingsSlicesContract;
import android.text.TextUtils;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -194,7 +195,7 @@ public abstract class BasePreferenceController extends AbstractPreferenceControl
}
}
public BasePreferenceController(Context context, String preferenceKey) {
public BasePreferenceController(@NonNull Context context, @NonNull String preferenceKey) {
super(context);
mPreferenceKey = preferenceKey;
mPrefVisibility = true;

View File

@@ -16,6 +16,7 @@ package com.android.settings.core;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.preference.Preference;
import androidx.slice.builders.SliceAction;
@@ -24,7 +25,7 @@ import com.android.settings.slices.SliceData;
public abstract class SliderPreferenceController extends BasePreferenceController implements
Preference.OnPreferenceChangeListener {
public SliderPreferenceController(Context context, String preferenceKey) {
public SliderPreferenceController(@NonNull Context context, @NonNull String preferenceKey) {
super(context, preferenceKey);
}

View File

@@ -15,13 +15,14 @@ package com.android.settings.core;
import android.content.Context;
import androidx.annotation.NonNull;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.preference.TwoStatePreference;
import com.android.settings.onboarding.OnboardingFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.slices.SliceData;
import com.android.settings.onboarding.OnboardingFeatureProvider;
import com.android.settings.widget.TwoStateButtonPreference;
import com.android.settingslib.PrimarySwitchPreference;
import com.android.settingslib.core.instrumentation.SettingsJankMonitor;
@@ -37,7 +38,7 @@ public abstract class TogglePreferenceController extends BasePreferenceControlle
private static final String TAG = "TogglePrefController";
public TogglePreferenceController(Context context, String preferenceKey) {
public TogglePreferenceController(@NonNull Context context, @NonNull String preferenceKey) {
super(context, preferenceKey);
}

View File

@@ -37,6 +37,7 @@ import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
@@ -51,10 +52,6 @@ import java.util.Arrays;
public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
private Context mContext;
private LayoutInflater mInflater;
private View mViewArrowPrevious;
private View mViewArrowNext;
private ViewPager mViewPager;
private ArrayList<View> mPageList;
private ImageView[] mDotIndicators;
private View[] mViewPagerItems;
@@ -68,7 +65,7 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
private static final int DOT_INDICATOR_RIGHT_PADDING = 6;
@Override
public void onAttach(Context context) {
public void onAttach(@NonNull Context context) {
super.onAttach(context);
mContext = context;
}
@@ -111,13 +108,14 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
window.setNavigationBarColor(Color.TRANSPARENT);
}
@NonNull
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
mInflater = mContext.getSystemService(LayoutInflater.class);
View contentView = mInflater.inflate(R.layout.touchpad_gesture_preview, null);
addViewPager(contentView);
LayoutInflater inflater = mContext.getSystemService(LayoutInflater.class);
View contentView = inflater.inflate(R.layout.touchpad_gesture_preview, null);
addViewPager(contentView, inflater);
dialog.setContentView(contentView);
Window gestureDialogWindow = dialog.getWindow();
gestureDialogWindow.setType(TYPE_SYSTEM_DIALOG);
@@ -145,7 +143,7 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
// The gesture education view shouldn't be draggable."
behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(View bottomSheet, int newState) {
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_DRAGGING) {
if (isGestureNavigationEnabled()) {
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
@@ -156,7 +154,7 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
}
@Override
public void onSlide(View bottomSheet, float slideOffset) {
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
// Do nothing.
}
});
@@ -174,13 +172,12 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
R.layout.gesture_tip5_switch_apps));
}
private void addViewPager(View preview) {
mViewPager = preview.findViewById(R.id.viewpager);
private void addViewPager(View preview, LayoutInflater inflater) {
ViewPager viewPager = preview.findViewById(R.id.viewpager);
int viewPagerResourceSize = getViewPagerResource().size();
mViewPagerItems = new View[viewPagerResourceSize];
for (int i = 0; i < viewPagerResourceSize; i++) {
mViewPagerItems[i] =
mInflater.inflate(getViewPagerResource().get(i), null /* root */);
mViewPagerItems[i] = inflater.inflate(getViewPagerResource().get(i), null /* root */);
}
mPageList = new ArrayList<View>();
@@ -188,12 +185,12 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
mPageList.add(mViewPagerItems[i]);
}
mViewPager.setAdapter(new GesturePagerAdapter(mPageList));
viewPager.setAdapter(new GesturePagerAdapter(mPageList));
mButtonStartRestart = (Button) preview.findViewById(R.id.button_restart);
mButtonStartRestart.setOnClickListener(v -> {
final int firstPos = mViewPager.getCurrentItem() - mViewPagerItems.length;
mViewPager.setCurrentItem(firstPos, true);
final int firstPos = viewPager.getCurrentItem() - mViewPagerItems.length;
viewPager.setCurrentItem(firstPos, true);
});
mButtonEndDone = (Button) preview.findViewById(R.id.button_done);
@@ -208,11 +205,11 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
mButtonEndNext = (Button) preview.findViewById(R.id.button_next);
mButtonEndNext.setOnClickListener(v -> {
final int nextPos = mViewPager.getCurrentItem() + 1;
mViewPager.setCurrentItem(nextPos, true);
final int nextPos = viewPager.getCurrentItem() + 1;
viewPager.setCurrentItem(nextPos, true);
});
mViewPager.addOnPageChangeListener(createPageListener());
viewPager.addOnPageChangeListener(createPageListener());
final ViewGroup viewGroup = (ViewGroup) preview.findViewById(R.id.viewGroup);
mDotIndicators = new ImageView[mPageList.size()];
for (int i = 0; i < mPageList.size(); i++) {
@@ -234,12 +231,14 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
public void destroyItem(@NonNull ViewGroup container, int position,
@NonNull Object object) {
if (mPageViewList.get(position) != null) {
container.removeView(mPageViewList.get(position));
}
}
@NonNull
@Override
public Object instantiateItem(ViewGroup container, int position) {
container.addView(mPageViewList.get(position));
@@ -252,7 +251,7 @@ public class TouchpadGestureDialogFragment extends BottomSheetDialogFragment {
}
@Override
public boolean isViewFromObject(View view, Object object) {
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return object == view;
}
}

View File

@@ -19,11 +19,14 @@ package com.android.settings.inputmethod;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.core.BasePreferenceController;
public class TouchpadGesturesDisabledFooterPreferenceController extends BasePreferenceController {
public TouchpadGesturesDisabledFooterPreferenceController(Context context, String key) {
public TouchpadGesturesDisabledFooterPreferenceController(@NonNull Context context,
@NonNull String key) {
super(context, key);
}

View File

@@ -24,6 +24,8 @@ import android.content.Intent;
import android.hardware.input.InputSettings;
import android.os.UserHandle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.preference.PreferenceScreen;
@@ -40,10 +42,11 @@ public class TouchpadGesturesTutorialButtonPreferenceController extends BasePref
private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
private static final String TUTORIAL_ACTION = "com.android.systemui.action.TOUCHPAD_TUTORIAL";
private Fragment mParent;
private MetricsFeatureProvider mMetricsFeatureProvider;
private @Nullable Fragment mParent;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadGesturesTutorialButtonPreferenceController(Context context, String key) {
public TouchpadGesturesTutorialButtonPreferenceController(@NonNull Context context,
@NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}

View File

@@ -20,6 +20,7 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import androidx.preference.PreferenceScreen;
import com.android.settings.core.SliderPreferenceController;
@@ -29,10 +30,9 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class TouchpadPointerSpeedPreferenceController extends SliderPreferenceController {
private SeekBarPreference mPreference;
private MetricsFeatureProvider mMetricsFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadPointerSpeedPreferenceController(Context context, String key) {
public TouchpadPointerSpeedPreferenceController(@NonNull Context context, @NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}
@@ -40,11 +40,11 @@ public class TouchpadPointerSpeedPreferenceController extends SliderPreferenceCo
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
mPreference.setMax(getMax());
mPreference.setMin(getMin());
mPreference.setProgress(getSliderPosition());
updateState(mPreference);
SeekBarPreference preference = screen.findPreference(getPreferenceKey());
preference.setMax(getMax());
preference.setMin(getMin());
preference.setProgress(getSliderPosition());
updateState(preference);
}
@Override

View File

@@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -27,9 +29,10 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class TouchpadReverseScrollingPreferenceController extends TogglePreferenceController {
private MetricsFeatureProvider mMetricsFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadReverseScrollingPreferenceController(Context context, String key) {
public TouchpadReverseScrollingPreferenceController(@NonNull Context context,
@NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}

View File

@@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -27,9 +29,10 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class TouchpadRightClickZonePreferenceController extends TogglePreferenceController {
private MetricsFeatureProvider mMetricsFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadRightClickZonePreferenceController(Context context, String key) {
public TouchpadRightClickZonePreferenceController(@NonNull Context context,
@NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}

View File

@@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -27,9 +29,9 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class TouchpadTapDraggingPreferenceController extends TogglePreferenceController {
private MetricsFeatureProvider mMetricsFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadTapDraggingPreferenceController(Context context, String key) {
public TouchpadTapDraggingPreferenceController(@NonNull Context context, @NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}

View File

@@ -20,6 +20,8 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.hardware.input.InputSettings;
import androidx.annotation.NonNull;
import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -27,9 +29,9 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
public class TouchpadTapToClickPreferenceController extends TogglePreferenceController {
private MetricsFeatureProvider mMetricsFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider;
public TouchpadTapToClickPreferenceController(Context context, String key) {
public TouchpadTapToClickPreferenceController(@NonNull Context context, @NonNull String key) {
super(context, key);
mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
}