Consolidate statusbar/notification and notification/
Move everything to notification/ in SettingsLib. Also have all
corresponding tests as deviceless tests in the correct directory.
I also fixed some style issues because the presubmit hook was
complaining.
Bug: NA
Flag: EXEMPT trivial refactor
Test: existing tests pass
Change-Id: Icd464566b60d1c219892c35cd17abe104017b3fb
diff --git a/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml b/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml
index bc330c7..5cf365b 100644
--- a/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml
+++ b/packages/SettingsLib/res/layout/zen_mode_turn_on_dialog_container.xml
@@ -28,7 +28,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
- <com.android.settingslib.notification.ZenRadioLayout
+ <com.android.settingslib.notification.modes.ZenRadioLayout
android:id="@+id/zen_conditions"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@@ -46,7 +46,7 @@
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"/>
- </com.android.settingslib.notification.ZenRadioLayout>
+ </com.android.settingslib.notification.modes.ZenRadioLayout>
<TextView
android:id="@+id/zen_alarm_warning"
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeZenModeRepository.kt b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/FakeZenModeRepository.kt
similarity index 96%
rename from packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeZenModeRepository.kt
rename to packages/SettingsLib/src/com/android/settingslib/notification/data/repository/FakeZenModeRepository.kt
index 775e2fc..7f6a8ed 100644
--- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/FakeZenModeRepository.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/FakeZenModeRepository.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.statusbar.notification.data.repository
+package com.android.settingslib.notification.data.repository
import android.app.NotificationManager
import android.provider.Settings
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepository.kt b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt
similarity index 98%
rename from packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepository.kt
rename to packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt
index 2952764..58541418 100644
--- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepository.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.statusbar.notification.data.repository
+package com.android.settingslib.notification.data.repository
import android.app.NotificationManager
import android.content.BroadcastReceiver
diff --git a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt b/packages/SettingsLib/src/com/android/settingslib/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt
similarity index 95%
rename from packages/SettingsLib/src/com/android/settingslib/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt
rename to packages/SettingsLib/src/com/android/settingslib/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt
index 953c90d..0c2ce4f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/statusbar/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/domain/interactor/NotificationsSoundPolicyInteractor.kt
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package com.android.settingslib.statusbar.notification.domain.interactor
+package com.android.settingslib.notification.domain.interactor
import android.app.NotificationManager
import android.media.AudioManager
import android.provider.Settings
import android.service.notification.ZenModeConfig
-import com.android.settingslib.statusbar.notification.data.repository.ZenModeRepository
+import com.android.settingslib.notification.data.repository.ZenModeRepository
import com.android.settingslib.volume.shared.model.AudioStream
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.StateFlow
diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/EnableZenModeDialog.java
similarity index 96%
rename from packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java
rename to packages/SettingsLib/src/com/android/settingslib/notification/modes/EnableZenModeDialog.java
index dfa5ed1..054c849 100644
--- a/packages/SettingsLib/src/com/android/settingslib/notification/EnableZenModeDialog.java
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/EnableZenModeDialog.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.notification;
+package com.android.settingslib.notification.modes;
import android.app.ActivityManager;
import android.app.AlarmManager;
@@ -96,7 +96,7 @@
protected LinearLayout mZenRadioGroupContent;
private RadioGroup mZenRadioGroup;
- private int MAX_MANUAL_DND_OPTIONS = 3;
+ private static final int MAX_MANUAL_DND_OPTIONS = 3;
@VisibleForTesting
protected LayoutInflater mLayoutInflater;
@@ -119,9 +119,9 @@
}
public AlertDialog createDialog() {
- mNotificationManager = (NotificationManager) mContext.
- getSystemService(Context.NOTIFICATION_SERVICE);
- mForeverId = Condition.newId(mContext).appendPath("forever").build();
+ mNotificationManager = (NotificationManager) mContext
+ .getSystemService(Context.NOTIFICATION_SERVICE);
+ mForeverId = Condition.newId(mContext).appendPath("forever").build();
mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
mUserId = mContext.getUserId();
mAttached = false;
@@ -171,8 +171,8 @@
}
private void hideAllConditions() {
- final int N = mZenRadioGroupContent.getChildCount();
- for (int i = 0; i < N; i++) {
+ final int n = mZenRadioGroupContent.getChildCount();
+ for (int i = 0; i < n; i++) {
mZenRadioGroupContent.getChildAt(i).setVisibility(View.GONE);
}
@@ -221,8 +221,10 @@
}
tag.condition = condition;
final Uri conditionId = getConditionId(tag.condition);
- if (DEBUG) Log.d(TAG, "bind i=" + mZenRadioGroupContent.indexOfChild(row) + " first="
- + first + " condition=" + conditionId);
+ if (DEBUG) {
+ Log.d(TAG, "bind i=" + mZenRadioGroupContent.indexOfChild(row) + " first="
+ + first + " condition=" + conditionId);
+ }
tag.rb.setEnabled(enabled);
tag.rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
@@ -447,14 +449,14 @@
private void onClickTimeButton(View row, ConditionTag tag, boolean up, int rowId) {
mMetricsLogger.logOnClickTimeButton(up);
Condition newCondition = null;
- final int N = MINUTE_BUCKETS.length;
+ final int n = MINUTE_BUCKETS.length;
if (mBucketIndex == -1) {
// not on a known index, search for the next or prev bucket by time
final Uri conditionId = getConditionId(tag.condition);
final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId);
final long now = System.currentTimeMillis();
- for (int i = 0; i < N; i++) {
- int j = up ? i : N - 1 - i;
+ for (int i = 0; i < n; i++) {
+ int j = up ? i : n - 1 - i;
final int bucketMinutes = MINUTE_BUCKETS[j];
final long bucketTime = now + bucketMinutes * MINUTES_MS;
if (up && bucketTime > time || !up && bucketTime < time) {
@@ -472,7 +474,7 @@
}
} else {
// on a known index, simply increment or decrement
- mBucketIndex = Math.max(0, Math.min(N - 1, mBucketIndex + (up ? 1 : -1)));
+ mBucketIndex = Math.max(0, Math.min(n - 1, mBucketIndex + (up ? 1 : -1)));
newCondition = ZenModeConfig.toTimeCondition(mContext,
MINUTE_BUCKETS[mBucketIndex], ActivityManager.getCurrentUser());
}
diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenDurationDialog.java
similarity index 89%
rename from packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java
rename to packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenDurationDialog.java
index abbdaa7..98c3edb 100644
--- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenDurationDialog.java
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenDurationDialog.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.notification;
+package com.android.settingslib.notification.modes;
import android.app.ActivityManager;
import android.app.Dialog;
@@ -46,22 +46,31 @@
public class ZenDurationDialog {
private static final int[] MINUTE_BUCKETS = ZenModeConfig.MINUTE_BUCKETS;
- @VisibleForTesting protected static final int MIN_BUCKET_MINUTES = MINUTE_BUCKETS[0];
- @VisibleForTesting protected static final int MAX_BUCKET_MINUTES =
+ @VisibleForTesting
+ protected static final int MIN_BUCKET_MINUTES = MINUTE_BUCKETS[0];
+ @VisibleForTesting
+ protected static final int MAX_BUCKET_MINUTES =
MINUTE_BUCKETS[MINUTE_BUCKETS.length - 1];
private static final int DEFAULT_BUCKET_INDEX = Arrays.binarySearch(MINUTE_BUCKETS, 60);
- @VisibleForTesting protected int mBucketIndex = -1;
+ @VisibleForTesting
+ protected int mBucketIndex = -1;
- @VisibleForTesting protected static final int FOREVER_CONDITION_INDEX = 0;
- @VisibleForTesting protected static final int COUNTDOWN_CONDITION_INDEX = 1;
- @VisibleForTesting protected static final int ALWAYS_ASK_CONDITION_INDEX = 2;
+ @VisibleForTesting
+ protected static final int FOREVER_CONDITION_INDEX = 0;
+ @VisibleForTesting
+ protected static final int COUNTDOWN_CONDITION_INDEX = 1;
+ @VisibleForTesting
+ protected static final int ALWAYS_ASK_CONDITION_INDEX = 2;
- @VisibleForTesting protected Context mContext;
- @VisibleForTesting protected LinearLayout mZenRadioGroupContent;
+ @VisibleForTesting
+ protected Context mContext;
+ @VisibleForTesting
+ protected LinearLayout mZenRadioGroupContent;
private RadioGroup mZenRadioGroup;
- private int MAX_MANUAL_DND_OPTIONS = 3;
+ private static final int MAX_MANUAL_DND_OPTIONS = 3;
- @VisibleForTesting protected LayoutInflater mLayoutInflater;
+ @VisibleForTesting
+ protected LayoutInflater mLayoutInflater;
public ZenDurationDialog(Context context) {
mContext = context;
@@ -104,22 +113,22 @@
case FOREVER_CONDITION_INDEX:
newZenDuration = Settings.Secure.ZEN_DURATION_FOREVER;
MetricsLogger.action(mContext,
- MetricsProto.MetricsEvent.
- NOTIFICATION_ZEN_MODE_DURATION_FOREVER);
+ MetricsProto.MetricsEvent
+ .NOTIFICATION_ZEN_MODE_DURATION_FOREVER);
break;
case COUNTDOWN_CONDITION_INDEX:
ConditionTag tag = getConditionTagAt(checkedRadioButtonId);
newZenDuration = tag.countdownZenDuration;
MetricsLogger.action(mContext,
- MetricsProto.MetricsEvent.
- NOTIFICATION_ZEN_MODE_DURATION_TIME,
+ MetricsProto.MetricsEvent
+ .NOTIFICATION_ZEN_MODE_DURATION_TIME,
newZenDuration);
break;
case ALWAYS_ASK_CONDITION_INDEX:
newZenDuration = Settings.Secure.ZEN_DURATION_PROMPT;
MetricsLogger.action(mContext,
- MetricsProto.MetricsEvent.
- NOTIFICATION_ZEN_MODE_DURATION_PROMPT);
+ MetricsProto.MetricsEvent
+ .NOTIFICATION_ZEN_MODE_DURATION_PROMPT);
break;
}
@@ -299,12 +308,12 @@
@VisibleForTesting
protected void onClickTimeButton(View row, ConditionTag tag, boolean up, int rowId) {
int newDndTimeDuration = -1;
- final int N = MINUTE_BUCKETS.length;
+ final int n = MINUTE_BUCKETS.length;
if (mBucketIndex == -1) {
// not on a known index, search for the next or prev bucket by time
final long time = tag.countdownZenDuration;
- for (int i = 0; i < N; i++) {
- int j = up ? i : N - 1 - i;
+ for (int i = 0; i < n; i++) {
+ int j = up ? i : n - 1 - i;
final int bucketMinutes = MINUTE_BUCKETS[j];
if (up && bucketMinutes > time || !up && bucketMinutes < time) {
mBucketIndex = j;
@@ -318,7 +327,7 @@
}
} else {
// on a known index, simply increment or decrement
- mBucketIndex = Math.max(0, Math.min(N - 1, mBucketIndex + (up ? 1 : -1)));
+ mBucketIndex = Math.max(0, Math.min(n - 1, mBucketIndex + (up ? 1 : -1)));
newDndTimeDuration = MINUTE_BUCKETS[mBucketIndex];
}
tag.countdownZenDuration = newDndTimeDuration;
diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenModeDialogMetricsLogger.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenModeDialogMetricsLogger.java
similarity index 97%
rename from packages/SettingsLib/src/com/android/settingslib/notification/ZenModeDialogMetricsLogger.java
rename to packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenModeDialogMetricsLogger.java
index 088a37d..17695e3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenModeDialogMetricsLogger.java
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenModeDialogMetricsLogger.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.notification;
+package com.android.settingslib.notification.modes;
import android.content.Context;
diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/ZenRadioLayout.java b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenRadioLayout.java
similarity index 88%
rename from packages/SettingsLib/src/com/android/settingslib/notification/ZenRadioLayout.java
rename to packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenRadioLayout.java
index 1140028..ed659f9 100644
--- a/packages/SettingsLib/src/com/android/settingslib/notification/ZenRadioLayout.java
+++ b/packages/SettingsLib/src/com/android/settingslib/notification/modes/ZenRadioLayout.java
@@ -1,18 +1,20 @@
/*
* 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
+ * 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.
+ * 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.settingslib.notification;
+package com.android.settingslib.notification.modes;
import android.content.Context;
import android.util.AttributeSet;
diff --git a/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt b/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt
index 202ff40..28ca4e2 100644
--- a/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/volume/domain/interactor/AudioVolumeInteractor.kt
@@ -17,7 +17,7 @@
package com.android.settingslib.volume.domain.interactor
import android.media.AudioManager
-import com.android.settingslib.statusbar.notification.domain.interactor.NotificationsSoundPolicyInteractor
+import com.android.settingslib.notification.domain.interactor.NotificationsSoundPolicyInteractor
import com.android.settingslib.volume.data.repository.AudioRepository
import com.android.settingslib.volume.shared.model.AudioStream
import com.android.settingslib.volume.shared.model.AudioStreamModel
diff --git a/packages/SettingsLib/tests/robotests/Android.bp b/packages/SettingsLib/tests/robotests/Android.bp
index 397fab1..75c40bf 100644
--- a/packages/SettingsLib/tests/robotests/Android.bp
+++ b/packages/SettingsLib/tests/robotests/Android.bp
@@ -52,6 +52,7 @@
"androidx.fragment_fragment",
"androidx.test.core",
"androidx.core_core",
+ "kotlinx_coroutines_test",
"flag-junit",
"settingslib_media_flags_lib",
"settingslib_illustrationpreference_flags_lib",
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepositoryTest.kt b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/data/repository/ZenModeRepositoryTest.kt
similarity index 96%
rename from packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepositoryTest.kt
rename to packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/data/repository/ZenModeRepositoryTest.kt
index 688bebb..5294ce3 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/statusbar/notification/data/repository/ZenModeRepositoryTest.kt
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/data/repository/ZenModeRepositoryTest.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.statusbar.notification.data.repository
+package com.android.settingslib.notification.data.repository
import android.app.NotificationManager
import android.content.BroadcastReceiver
@@ -23,7 +23,6 @@
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.provider.Settings.Global
-import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.settingslib.flags.Flags
import com.google.common.truth.Truth.assertThat
@@ -43,9 +42,10 @@
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
+import org.robolectric.RobolectricTestRunner
@OptIn(ExperimentalCoroutinesApi::class)
-@RunWith(AndroidJUnit4::class)
+@RunWith(RobolectricTestRunner::class)
@SmallTest
class ZenModeRepositoryTest {
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/EnableZenModeDialogTest.java
similarity index 96%
rename from packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java
rename to packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/EnableZenModeDialogTest.java
index 6b81c1a..e397f97 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/EnableZenModeDialogTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/EnableZenModeDialogTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.notification;
+package com.android.settingslib.notification.modes;
import static com.google.common.truth.Truth.assertThat;
@@ -77,7 +77,7 @@
mController = spy(new EnableZenModeDialog(mContext));
mController.mContext = mContext;
mController.mLayoutInflater = mLayoutInflater;
- mController.mForeverId = Condition.newId(mContext).appendPath("forever").build();
+ mController.mForeverId = Condition.newId(mContext).appendPath("forever").build();
when(mContext.getString(com.android.internal.R.string.zen_mode_forever))
.thenReturn("testSummary");
when(mContext.getString(com.android.internal.R.string.selected))
@@ -96,9 +96,9 @@
doNothing().when(mController).bindNextAlarm(any());
// as a result of doing nothing above, must bind manually:
- Uri alarm = Condition.newId(mContext).appendPath("alarm").build();
+ Uri alarm = Condition.newId(mContext).appendPath("alarm").build();
mAlarmCondition = new Condition(alarm, "alarm", "", "", 0, 0, 0);
- Uri countdown = Condition.newId(mContext).appendPath("countdown").build();
+ Uri countdown = Condition.newId(mContext).appendPath("countdown").build();
mCountdownCondition = new Condition(countdown, "countdown", "", "", 0, 0, 0);
mController.bind(mCountdownCondition,
mController.mZenRadioGroupContent.getChildAt(
@@ -215,4 +215,4 @@
assertThat(countdown.line1.getStateDescription()).isNull();
assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected");
}
-}
\ No newline at end of file
+}
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/ZenDurationDialogTest.java
similarity index 99%
rename from packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java
rename to packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/ZenDurationDialogTest.java
index fc45e89..19845a0 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/ZenDurationDialogTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/notification/modes/ZenDurationDialogTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settingslib.notification;
+package com.android.settingslib.notification.modes;
import static com.google.common.truth.Truth.assertThat;
@@ -230,4 +230,4 @@
assertThat(countdown.line1.getStateDescription()).isNull();
assertThat(alwaysAsk.line1.getStateDescription().toString()).isEqualTo("selected");
}
-}
\ No newline at end of file
+}