Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e94ba3b5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update USb preference controller to use the new summary texts." into oc-dev

parents b9a54bae 3ff3b818
Loading
Loading
Loading
Loading
+9 −23
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.hardware.usb.UsbManager;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceScreen;

@@ -77,34 +78,19 @@ public class UsbModePreferenceController extends PreferenceController
        mUsbReceiver.register();
    }

    public static int getSummary(int mode) {
    @VisibleForTesting
    int getSummary(int mode) {
        switch (mode) {
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_charging_only_desc;
                return R.string.usb_summary_charging_only;
            case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_power_only_desc;
                return R.string.usb_summary_power_only;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
                return R.string.usb_use_file_transfers_desc;
                return R.string.usb_summary_file_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
                return R.string.usb_use_photo_transfers_desc;
                return R.string.usb_summary_photo_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
                return R.string.usb_use_MIDI_desc;
        }
        return 0;
    }

    public static int getTitle(int mode) {
        switch (mode) {
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_charging_only;
            case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_power_only;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
                return R.string.usb_use_file_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
                return R.string.usb_use_photo_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
                return R.string.usb_use_MIDI;
                return R.string.usb_summary_MIDI;
        }
        return 0;
    }
@@ -117,7 +103,7 @@ public class UsbModePreferenceController extends PreferenceController
        if (preference != null) {
            if (mUsbReceiver.isConnected()) {
                preference.setEnabled(true);
                preference.setSummary(getTitle(mode));
                preference.setSummary(getSummary(mode));
            } else {
                preference.setSummary(R.string.disconnected);
                preference.setEnabled(false);
+26 −3
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.support.annotation.VisibleForTesting;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@@ -40,7 +41,6 @@ import android.widget.TextView;

import com.android.settings.R;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settings.connecteddevice.UsbModePreferenceController;

import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;

@@ -136,9 +136,9 @@ public class UsbModeChooserActivity extends Activity {
        View v = mLayoutInflater.inflate(R.layout.restricted_radio_with_summary, container, false);

        TextView titleView = (TextView) v.findViewById(android.R.id.title);
        titleView.setText(UsbModePreferenceController.getTitle(mode));
        titleView.setText(getTitle(mode));
        TextView summaryView = (TextView) v.findViewById(android.R.id.summary);
        summaryView.setText(UsbModePreferenceController.getSummary(mode));
        updateSummary(summaryView, mode);

        if (disallowedByAdmin) {
            if (mEnforcedAdmin != null) {
@@ -178,4 +178,27 @@ public class UsbModeChooserActivity extends Activity {
        }
    }

    @VisibleForTesting
    static void updateSummary(TextView summaryView, int mode) {
        if (mode == (UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE)) {
            summaryView.setText(R.string.usb_use_power_only_desc);
        }
    }

    @VisibleForTesting
    static int getTitle(int mode) {
        switch (mode) {
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_charging_only;
            case UsbBackend.MODE_POWER_SOURCE | UsbBackend.MODE_DATA_NONE:
                return R.string.usb_use_power_only;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MTP:
                return R.string.usb_use_file_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_PTP:
                return R.string.usb_use_photo_transfers;
            case UsbBackend.MODE_POWER_SINK | UsbBackend.MODE_DATA_MIDI:
                return R.string.usb_use_MIDI;
        }
        return 0;
    }
}
+11 −41
Original line number Diff line number Diff line
@@ -48,62 +48,32 @@ public class UsbModePreferenceControllerTest {

    @Test
    public void testGetSummary_chargeDevice() {
        assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[0]))
                .isEqualTo(R.string.usb_use_charging_only_desc);
        assertThat(mController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[0]))
                .isEqualTo(R.string.usb_summary_charging_only);
    }

    @Test
    public void testGetSummary_supplyPower() {
        assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[1]))
                .isEqualTo(R.string.usb_use_power_only_desc);
        assertThat(mController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[1]))
                .isEqualTo(R.string.usb_summary_power_only);
    }

    @Test
    public void testGetSummary_TransferFiles() {
        assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[2]))
                .isEqualTo(R.string.usb_use_file_transfers_desc);
        assertThat(mController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[2]))
                .isEqualTo(R.string.usb_summary_file_transfers);
    }

    @Test
    public void testGetSummary_TransferPhoto() {
        assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[3]))
                .isEqualTo(R.string.usb_use_photo_transfers_desc);
        assertThat(mController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[3]))
                .isEqualTo(R.string.usb_summary_photo_transfers);
    }

    @Test
    public void testGetSummary_MIDI() {
        assertThat(UsbModePreferenceController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[4]))
                .isEqualTo(R.string.usb_use_MIDI_desc);
    }

    @Test
    public void testGetTitle_chargeDevice() {
        assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[0]))
                .isEqualTo(R.string.usb_use_charging_only);
    }

    @Test
    public void testGetTitle_supplyPower() {
        assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[1]))
                .isEqualTo(R.string.usb_use_power_only);
    }

    @Test
    public void testGetTitle_TransferFiles() {
        assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[2]))
                .isEqualTo(R.string.usb_use_file_transfers);
    }

    @Test
    public void testGetTitle_TransferPhoto() {
        assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[3]))
                .isEqualTo(R.string.usb_use_photo_transfers);
    }

    @Test
    public void testGetTitle_MIDI() {
        assertThat(UsbModePreferenceController.getTitle(UsbModeChooserActivity.DEFAULT_MODES[4]))
                .isEqualTo(R.string.usb_use_MIDI);
        assertThat(mController.getSummary(UsbModeChooserActivity.DEFAULT_MODES[4]))
                .isEqualTo(R.string.usb_summary_MIDI);
    }

    @Test
@@ -131,7 +101,7 @@ public class UsbModePreferenceControllerTest {
        mContext.sendStickyBroadcast(intent);

        assertThat(preference.getSummary()).isEqualTo(
                mContext.getString(R.string.usb_use_charging_only));
                mContext.getString(R.string.usb_summary_charging_only));
    }

}
 No newline at end of file
+94 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 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.deviceinfo;

import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;

import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;

@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class UsbModeChooserActivityTest {

    @Mock
    private TextView mTextView;

    @Before
    public void setUp() {
        MockitoAnnotations.initMocks(this);
    }

    @Test
    public void updateSummary_chargeDevice_shouldNotSetSummary() {
        UsbModeChooserActivity.updateSummary(mTextView, UsbModeChooserActivity.DEFAULT_MODES[0]);
        verify(mTextView, never()).setText(anyInt());
    }

    @Test
    public void updateSummary_supplyPower_shouldSetSummary() {
        UsbModeChooserActivity.updateSummary(mTextView, UsbModeChooserActivity.DEFAULT_MODES[1]);
        verify(mTextView).setText(R.string.usb_use_power_only_desc);
    }

    @Test
    public void updateSummary_transferFiles_shouldNotSetSummary() {
        UsbModeChooserActivity.updateSummary(mTextView, UsbModeChooserActivity.DEFAULT_MODES[2]);
        verify(mTextView, never()).setText(anyInt());
    }

    @Test
    public void updateSummary_transferPhoto_shouldNotSetSummary() {
        UsbModeChooserActivity.updateSummary(mTextView, UsbModeChooserActivity.DEFAULT_MODES[3]);
        verify(mTextView, never()).setText(anyInt());
    }

    @Test
    public void updateSummary_MIDI_shouldNotSetSummary() {
        UsbModeChooserActivity.updateSummary(mTextView, UsbModeChooserActivity.DEFAULT_MODES[4]);
        verify(mTextView, never()).setText(anyInt());
    }

    @Test
    public void getTitle_shouldReturnCorrectTitle() {
        assertThat(UsbModeChooserActivity.getTitle(UsbModeChooserActivity.DEFAULT_MODES[0]))
                .isEqualTo(R.string.usb_use_charging_only);

        assertThat(UsbModeChooserActivity.getTitle(UsbModeChooserActivity.DEFAULT_MODES[1]))
                .isEqualTo(R.string.usb_use_power_only);

        assertThat(UsbModeChooserActivity.getTitle(UsbModeChooserActivity.DEFAULT_MODES[2]))
                .isEqualTo(R.string.usb_use_file_transfers);

        assertThat(UsbModeChooserActivity.getTitle(UsbModeChooserActivity.DEFAULT_MODES[3]))
                .isEqualTo(R.string.usb_use_photo_transfers);

        assertThat(UsbModeChooserActivity.getTitle(UsbModeChooserActivity.DEFAULT_MODES[4]))
                .isEqualTo(R.string.usb_use_MIDI);
    }

}
 No newline at end of file