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
This commit is contained in:
@@ -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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user