Merge changes from topic "color_correction_b_148785841"

* changes:
  Fix the screen will move by itself when enabled Color correction.
  Refine and migrate the functions that related to update preference into the specific lifecycle.
This commit is contained in:
PETER LIANG
2020-08-19 07:51:41 +00:00
committed by Android (Google) Code Review
8 changed files with 314 additions and 510 deletions

View File

@@ -0,0 +1,64 @@
/*
* 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 org.junit.Assert.assertEquals;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.preference.PreferenceViewHolder;
import androidx.test.core.app.ApplicationProvider;
import com.android.settings.R;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link PaletteListPreference}. */
@RunWith(RobolectricTestRunner.class)
public final class PaletteListPreferenceTest {
private PaletteListPreference mPaletteListPreference;
private PreferenceViewHolder mPreferenceViewHolder;
private final Context mContext = ApplicationProvider.getApplicationContext();
@Before
public void initObjects() {
mPaletteListPreference = new PaletteListPreference(mContext, null);
final LayoutInflater inflater = LayoutInflater.from(mContext);
final View view =
inflater.inflate(R.layout.daltonizer_preview, null);
mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
}
@Test
public void initPaletteView_success() {
mPaletteListPreference.onBindViewHolder(mPreferenceViewHolder);
final ViewGroup viewGroup =
mPreferenceViewHolder.itemView.findViewById(R.id.palette_view);
final int expectedCount =
mContext.getResources().getStringArray(R.array.setting_palette_data).length;
assertEquals(expectedCount, viewGroup.getChildCount());
}
}

View File

@@ -1,65 +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 android.content.Context;
import androidx.test.core.app.ApplicationProvider;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
/** Tests for {@link PaletteListView} */
@RunWith(RobolectricTestRunner.class)
public class PaletteListViewTest {
private final Context mContext = ApplicationProvider.getApplicationContext();
private PaletteListView mPaletteListView;
@Before
public void setUp() {
mPaletteListView = new PaletteListView(mContext);
}
@Test
public void setColors_applySameLengthArray_configureSuccessful() {
final String[] colorName = {"White", "Black", "Yellow"};
final String[] colorCode = {"#ffffff", "#000000", "#f9ab00"};
assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isTrue();
}
@Test
public void setColors_applyDifferentLengthArray_configureSuccessful() {
final String[] colorName = {"White", "Black", "Yellow", "Orange", "Red"};
final String[] colorCode = {"#ffffff", "#000000", "#f9ab00"};
assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isTrue();
}
@Test
public void setColors_configureFailed() {
final String[] colorName = null;
final String[] colorCode = null;
assertThat(mPaletteListView.setPaletteListColors(colorName, colorCode)).isFalse();
}
}