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

Commit 6ca798fe authored by Matías Hernández's avatar Matías Hernández
Browse files

Implement some unnecessarily abstract methods in SystemConditionProviderService

Test: atest CountdownConditionProviderTest EventConditionProviderTest ScheduleConditionProviderTest
Bug: 342156843
Flag: NONE
Change-Id: Ifa5ab6a240cf7cec5828be0b10a6b4d28eb7432e
parent da2d6c60
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -19,13 +19,11 @@ package com.android.server.notification;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.service.notification.Condition;
import android.service.notification.IConditionProvider;
import android.service.notification.ZenModeConfig;
import android.text.format.DateUtils;
import android.util.Log;
@@ -41,9 +39,6 @@ public class CountdownConditionProvider extends SystemConditionProviderService {
    private static final String TAG = "ConditionProviders.CCP";
    private static final boolean DEBUG = Log.isLoggable("ConditionProviders", Log.DEBUG);

    public static final ComponentName COMPONENT =
            new ComponentName("android", CountdownConditionProvider.class.getName());

    private static final String ACTION = CountdownConditionProvider.class.getName();
    private static final int REQUEST_CODE = 100;
    private static final String EXTRA_CONDITION_ID = "condition_id";
@@ -59,31 +54,16 @@ public class CountdownConditionProvider extends SystemConditionProviderService {
        if (DEBUG) Slog.d(TAG, "new CountdownConditionProvider()");
    }

    @Override
    public ComponentName getComponent() {
        return COMPONENT;
    }

    @Override
    public boolean isValidConditionId(Uri id) {
        return ZenModeConfig.isValidCountdownConditionId(id);
    }

    @Override
    public void attachBase(Context base) {
        attachBaseContext(base);
    }

    @Override
    public void onBootComplete() {
        // noop
    }

    @Override
    public IConditionProvider asInterface() {
        return (IConditionProvider) onBind(null);
    }

    @Override
    public void dump(PrintWriter pw, DumpFilter filter) {
        pw.println("    CountdownConditionProvider:");
+0 −19
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.server.notification;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -31,7 +30,6 @@ import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.service.notification.Condition;
import android.service.notification.IConditionProvider;
import android.service.notification.ZenModeConfig;
import android.service.notification.ZenModeConfig.EventInfo;
import android.util.ArraySet;
@@ -54,8 +52,6 @@ public class EventConditionProvider extends SystemConditionProviderService {
    private static final String TAG = "ConditionProviders.ECP";
    private static final boolean DEBUG = Log.isLoggable("ConditionProviders", Log.DEBUG);

    public static final ComponentName COMPONENT =
            new ComponentName("android", EventConditionProvider.class.getName());
    private static final String NOT_SHOWN = "...";
    private static final String SIMPLE_NAME = EventConditionProvider.class.getSimpleName();
    private static final String ACTION_EVALUATE = SIMPLE_NAME + ".EVALUATE";
@@ -81,11 +77,6 @@ public class EventConditionProvider extends SystemConditionProviderService {
        mWorker = new Handler(mThread.getLooper());
    }

    @Override
    public ComponentName getComponent() {
        return COMPONENT;
    }

    @Override
    public boolean isValidConditionId(Uri id) {
        return ZenModeConfig.isValidEventConditionId(id);
@@ -166,16 +157,6 @@ public class EventConditionProvider extends SystemConditionProviderService {
        }
    }

    @Override
    public void attachBase(Context base) {
        attachBaseContext(base);
    }

    @Override
    public IConditionProvider asInterface() {
        return (IConditionProvider) onBind(null);
    }

    private void reloadTrackers() {
        if (DEBUG) Slog.d(TAG, "reloadTrackers");
        for (int i = 0; i < mTrackers.size(); i++) {
+7 −21
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.app.ActivityManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -28,7 +27,6 @@ import android.net.Uri;
import android.os.Binder;
import android.provider.Settings;
import android.service.notification.Condition;
import android.service.notification.IConditionProvider;
import android.service.notification.ScheduleCalendar;
import android.service.notification.ZenModeConfig;
import android.text.TextUtils;
@@ -54,8 +52,6 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
    static final String TAG = "ConditionProviders.SCP";
    static final boolean DEBUG = true || Log.isLoggable("ConditionProviders", Log.DEBUG);

    public static final ComponentName COMPONENT =
            new ComponentName("android", ScheduleConditionProvider.class.getName());
    private static final String NOT_SHOWN = "...";
    private static final String SIMPLE_NAME = ScheduleConditionProvider.class.getSimpleName();
    private static final String ACTION_EVALUATE =  SIMPLE_NAME + ".EVALUATE";
@@ -66,7 +62,8 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {

    private final Context mContext = this;
    private final ArrayMap<Uri, ScheduleCalendar> mSubscriptions = new ArrayMap<>();
    private ArraySet<Uri> mSnoozedForAlarm = new ArraySet<>();
    @GuardedBy("mSnoozedForAlarm")
    private final ArraySet<Uri> mSnoozedForAlarm = new ArraySet<>();

    private AlarmManager mAlarmManager;
    private boolean mConnected;
@@ -77,11 +74,6 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
        if (DEBUG) Slog.d(TAG, "new " + SIMPLE_NAME + "()");
    }

    @Override
    public ComponentName getComponent() {
        return COMPONENT;
    }

    @Override
    public boolean isValidConditionId(Uri id) {
        return ZenModeConfig.isValidScheduleConditionId(id);
@@ -103,7 +95,10 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
                pw.println(mSubscriptions.get(conditionId).toString());
            }
        }
        pw.println("      snoozed due to alarm: " + TextUtils.join(SEPARATOR, mSnoozedForAlarm));
        synchronized (mSnoozedForAlarm) {
            pw.println(
                    "      snoozed due to alarm: " + TextUtils.join(SEPARATOR, mSnoozedForAlarm));
        }
        dumpUpcomingTime(pw, "mNextAlarmTime", mNextAlarmTime, now);
    }

@@ -149,16 +144,6 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
        evaluateSubscriptions();
    }

    @Override
    public void attachBase(Context base) {
        attachBaseContext(base);
    }

    @Override
    public IConditionProvider asInterface() {
        return (IConditionProvider) onBind(null);
    }

    private void evaluateSubscriptions() {
        if (mAlarmManager == null) {
            mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
@@ -299,6 +284,7 @@ public class ScheduleConditionProvider extends SystemConditionProviderService {
        }
    }

    @GuardedBy("mSnoozedForAlarm")
    private void saveSnoozedLocked() {
        final String setting = TextUtils.join(SEPARATOR, mSnoozedForAlarm);
        final int currentUser = ActivityManager.getCurrentUser();
+12 −3
Original line number Diff line number Diff line
@@ -31,12 +31,21 @@ import java.util.Date;
public abstract class SystemConditionProviderService extends ConditionProviderService {

    abstract public void dump(PrintWriter pw, DumpFilter filter);
    abstract public void attachBase(Context context);
    abstract public IConditionProvider asInterface();
    abstract public ComponentName getComponent();
    abstract public boolean isValidConditionId(Uri id);
    abstract public void onBootComplete();

    final ComponentName getComponent() {
        return new ComponentName("android", this.getClass().getName());
    }

    final IConditionProvider asInterface() {
        return (IConditionProvider) onBind(null);
    }

    final void attachBase(Context context) {
        attachBaseContext(context);
    }

    protected static String ts(long time) {
        return new Date(time) + " (" + time + ")";
    }
+9 −0
Original line number Diff line number Diff line
@@ -16,12 +16,15 @@

package com.android.server.notification;

import static com.google.common.truth.Truth.assertThat;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;

import android.app.Application;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Intent;
import android.net.Uri;
import android.testing.AndroidTestingRunner;
@@ -65,6 +68,12 @@ public class CountdownConditionProviderTest extends UiServiceTestCase {
        mService = spy(service);
   }

    @Test
    public void getComponent_returnsComponent() {
        assertThat(mService.getComponent()).isEqualTo(new ComponentName("android",
                "com.android.server.notification.CountdownConditionProvider"));
    }

    @Test
    public void testGetPendingIntent() {
        PendingIntent pi = mService.getPendingIntent(Uri.EMPTY);
Loading