diff --git a/res/xml/usb_details_fragment.xml b/res/xml/usb_details_fragment.xml index c9889e5e7bc..a3be090a63f 100644 --- a/res/xml/usb_details_fragment.xml +++ b/res/xml/usb_details_fragment.xml @@ -20,11 +20,6 @@ android:title="@string/usb_pref" android:key="usb_details_fragment"> - - diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java index f8cabbc08fb..31d5770d75f 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java @@ -106,7 +106,6 @@ public class UsbDetailsFragment extends DashboardFragment { private static List createControllerList(Context context, UsbBackend usbBackend, UsbDetailsFragment fragment) { List ret = new ArrayList<>(); - ret.add(new UsbDetailsHeaderController(context, fragment, usbBackend)); ret.add(new UsbDetailsDataRoleController(context, fragment, usbBackend)); ret.add(new UsbDetailsFunctionsController(context, fragment, usbBackend)); ret.add(new UsbDetailsPowerRoleController(context, fragment, usbBackend)); diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java deleted file mode 100644 index 39d7c751758..00000000000 --- a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2018 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.connecteddevice.usb; - -import android.content.Context; - -import androidx.preference.PreferenceScreen; - -import com.android.settings.R; -import com.android.settings.widget.EntityHeaderController; -import com.android.settingslib.widget.LayoutPreference; - -/** - * This class adds a header with device name. - */ -public class UsbDetailsHeaderController extends UsbDetailsController { - private static final String KEY_DEVICE_HEADER = "usb_device_header"; - - private EntityHeaderController mHeaderController; - - public UsbDetailsHeaderController(Context context, UsbDetailsFragment fragment, - UsbBackend backend) { - super(context, fragment, backend); - } - - @Override - public void displayPreference(PreferenceScreen screen) { - super.displayPreference(screen); - final LayoutPreference headerPreference = screen.findPreference(KEY_DEVICE_HEADER); - mHeaderController = EntityHeaderController.newInstance(mFragment.getActivity(), mFragment, - headerPreference.findViewById(R.id.entity_header)); - } - - - @Override - protected void refresh(boolean connected, long functions, int powerRole, int dataRole) { - mHeaderController.setLabel(mContext.getString(R.string.usb_pref)); - mHeaderController.setIcon(mContext.getDrawable(R.drawable.ic_usb)); - mHeaderController.done(true /* rebindActions */); - } - - @Override - public String getPreferenceKey() { - return KEY_DEVICE_HEADER; - } -} diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java deleted file mode 100644 index 4fb78fbee48..00000000000 --- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (C) 2018 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.connecteddevice.usb; - -import static android.hardware.usb.UsbPortStatus.DATA_ROLE_DEVICE; -import static android.hardware.usb.UsbPortStatus.POWER_ROLE_SINK; - -import static org.mockito.ArgumentMatchers.argThat; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.Context; -import android.graphics.drawable.Drawable; -import android.hardware.usb.UsbManager; - -import androidx.fragment.app.FragmentActivity; -import androidx.lifecycle.LifecycleOwner; -import androidx.preference.PreferenceManager; -import androidx.preference.PreferenceScreen; - -import com.android.settings.R; -import com.android.settings.testutils.shadow.ShadowEntityHeaderController; -import com.android.settings.widget.EntityHeaderController; -import com.android.settingslib.core.lifecycle.Lifecycle; -import com.android.settingslib.testutils.DrawableTestHelper; -import com.android.settingslib.widget.LayoutPreference; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Answers; -import org.mockito.ArgumentMatcher; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RobolectricTestRunner; -import org.robolectric.RuntimeEnvironment; -import org.robolectric.annotation.Config; - -@RunWith(RobolectricTestRunner.class) -@Config(shadows = { - ShadowEntityHeaderController.class, - com.android.settings.testutils.shadow.ShadowFragment.class, -}) -public class UsbDetailsHeaderControllerTest { - - private UsbDetailsHeaderController mDetailsHeaderController; - private Context mContext; - private Lifecycle mLifecycle; - private LifecycleOwner mLifecycleOwner; - private LayoutPreference mPreference; - private PreferenceManager mPreferenceManager; - private PreferenceScreen mScreen; - - @Mock - private UsbBackend mUsbBackend; - @Mock - private UsbDetailsFragment mFragment; - @Mock - private FragmentActivity mActivity; - @Mock(answer = Answers.RETURNS_DEEP_STUBS) - private EntityHeaderController mHeaderController; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - - mContext = RuntimeEnvironment.application; - mLifecycleOwner = () -> mLifecycle; - mLifecycle = new Lifecycle(mLifecycleOwner); - mPreferenceManager = new PreferenceManager(mContext); - mScreen = mPreferenceManager.createPreferenceScreen(mContext); - - when(mFragment.getActivity()).thenReturn(mActivity); - when(mActivity.getApplicationContext()).thenReturn(mContext); - when(mFragment.getContext()).thenReturn(mContext); - when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager); - when(mFragment.getPreferenceScreen()).thenReturn(mScreen); - - ShadowEntityHeaderController.setUseMock(mHeaderController); - mDetailsHeaderController = new UsbDetailsHeaderController(mContext, mFragment, mUsbBackend); - mPreference = new LayoutPreference( - mContext, com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header); - mPreference.setKey(mDetailsHeaderController.getPreferenceKey()); - mScreen.addPreference(mPreference); - } - - @After - public void tearDown() { - ShadowEntityHeaderController.reset(); - } - - @Test - public void displayRefresh_charging_shouldSetHeader() { - mDetailsHeaderController.displayPreference(mScreen); - mDetailsHeaderController.refresh(true, UsbManager.FUNCTION_NONE, POWER_ROLE_SINK, - DATA_ROLE_DEVICE); - verify(mHeaderController).setLabel(mContext.getString(R.string.usb_pref)); - verify(mHeaderController).setIcon(argThat((ArgumentMatcher) t -> { - DrawableTestHelper.assertDrawableResId(t, R.drawable.ic_usb); - return true; - })); - verify(mHeaderController).done(true); - } -}