From ab6cbea3fd69934eaac876fce7a0e3b362b32646 Mon Sep 17 00:00:00 2001 From: menghanli Date: Tue, 12 Jul 2022 11:23:55 +0800 Subject: [PATCH] Remove obsoleted code: DividerSwitchPreference Settings don't show divider in material design. The DividerSwitchPreference is not used now. Bug: 197695932 Test: make RunSettingsRoboTest Change-Id: I3fef9401b5c4a3e7d4ca6fc966f3e60c57558cdd --- .../DividerSwitchPreference.java | 89 ----------------- .../DividerSwitchPreferenceTest.java | 95 ------------------- 2 files changed, 184 deletions(-) delete mode 100644 src/com/android/settings/accessibility/DividerSwitchPreference.java delete mode 100644 tests/robotests/src/com/android/settings/accessibility/DividerSwitchPreferenceTest.java diff --git a/src/com/android/settings/accessibility/DividerSwitchPreference.java b/src/com/android/settings/accessibility/DividerSwitchPreference.java deleted file mode 100644 index 2c44789384a..00000000000 --- a/src/com/android/settings/accessibility/DividerSwitchPreference.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.accessibility; - -import android.content.Context; -import android.view.View; - -import androidx.preference.PreferenceViewHolder; -import androidx.preference.SwitchPreference; - -/** - * A switch preference that has a divider below and above. Used for Accessibility Settings use - * service. - */ -public final class DividerSwitchPreference extends SwitchPreference { - - private Boolean mDividerAllowedAbove; - private Boolean mDividerAllowBelow; - private int mSwitchVisibility; - - public DividerSwitchPreference(Context context) { - super(context); - mDividerAllowedAbove = true; - mDividerAllowBelow = true; - mSwitchVisibility = View.VISIBLE; - } - - @Override - public void onBindViewHolder(PreferenceViewHolder holder) { - super.onBindViewHolder(holder); - holder.setDividerAllowedAbove(mDividerAllowedAbove); - holder.setDividerAllowedBelow(mDividerAllowBelow); - - final View switchView = holder.itemView.findViewById(android.R.id.widget_frame); - if (switchView != null) { - switchView.setVisibility(mSwitchVisibility); - } - } - - /** - * Sets divider whether to show in preference above. - * - * @param allowed true will be drawn on above this item - */ - public void setDividerAllowedAbove(boolean allowed) { - if (mDividerAllowedAbove != allowed) { - mDividerAllowedAbove = allowed; - notifyChanged(); - } - } - - /** - * Sets divider whether to show in preference below. - * - * @param allowed true will be drawn on below this item - */ - public void setDividerAllowedBelow(boolean allowed) { - if (mDividerAllowedAbove != allowed) { - mDividerAllowBelow = allowed; - notifyChanged(); - } - } - - /** - * Sets the visibility state of Settings view. - * - * @param visibility one of {@link View#VISIBLE}, {@link View#INVISIBLE}, or {@link View#GONE}. - */ - public void setSwitchVisibility(@View.Visibility int visibility) { - if (mSwitchVisibility != visibility) { - mSwitchVisibility = visibility; - notifyChanged(); - } - } -} diff --git a/tests/robotests/src/com/android/settings/accessibility/DividerSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/DividerSwitchPreferenceTest.java deleted file mode 100644 index d80a4e810e8..00000000000 --- a/tests/robotests/src/com/android/settings/accessibility/DividerSwitchPreferenceTest.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.accessibility; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.internal.verification.VerificationModeFactory.times; - -import android.content.Context; -import android.view.LayoutInflater; -import android.view.View; - -import androidx.preference.PreferenceViewHolder; - -import com.android.settings.R; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; - -/** Tests for {@link DividerSwitchPreference}. */ -@RunWith(RobolectricTestRunner.class) -public class DividerSwitchPreferenceTest { - private final Context mContext = RuntimeEnvironment.application; - private View mRootView; - private PreferenceViewHolder mViewHolder; - private DividerSwitchPreference mDividerSwitchPreference; - - @Before - public void setUp() { - initRootView(); - initPreference(); - } - - @Test - public void setDividerAllowedAbove_allowed_success() { - mDividerSwitchPreference.setDividerAllowedAbove(true); - mDividerSwitchPreference.onBindViewHolder(mViewHolder); - - // One time was in parent, the other time was in child. - verify(mViewHolder, times(2)).setDividerAllowedAbove(true); - } - - @Test - public void setDividerAllowedBelow_allowed_success() { - mDividerSwitchPreference.setDividerAllowedBelow(true); - mDividerSwitchPreference.onBindViewHolder(mViewHolder); - - // One time was in parent, the other time was in child. - verify(mViewHolder, times(2)).setDividerAllowedBelow(true); - } - - @Test - public void setSwitchVisibility_visible_success() { - final View view = spy(new View(mContext)); - doReturn(view).when(mRootView).findViewById(android.R.id.widget_frame); - - mDividerSwitchPreference.setSwitchVisibility(View.VISIBLE); - mDividerSwitchPreference.onBindViewHolder(mViewHolder); - - assertThat(view.getVisibility()).isEqualTo(View.VISIBLE); - } - - private void initRootView() { - final LayoutInflater inflater = LayoutInflater.from(mContext); - mRootView = spy(inflater.inflate(R.layout.preference_widget_switch, /* root= */ null)); - mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(mRootView)); - } - - private void initPreference() { - mDividerSwitchPreference = new DividerSwitchPreference(mContext); - mDividerSwitchPreference.setDividerAllowedAbove(false); - mDividerSwitchPreference.setDividerAllowedBelow(false); - mDividerSwitchPreference.setSwitchVisibility(View.INVISIBLE); - } -}