Loading packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Build; import android.os.SystemClock; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.util.ArraySet; Loading Loading @@ -992,6 +993,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); mEntry.setInitializationTime(SystemClock.elapsedRealtime()); Dependency.get(PluginManager.class).addPluginListener(this, NotificationMenuRowPlugin.class, false /* Allow multiple */); } Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +15 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ public class NotificationData { public static final class Entry { private static final long LAUNCH_COOLDOWN = 2000; private static final long REMOTE_INPUT_COOLDOWN = 500; private static final long INITIALIZATION_DELAY = 400; private static final long NOT_LAUNCHED_YET = -LAUNCH_COOLDOWN; private static final int COLOR_INVALID = 1; public String key; Loading Loading @@ -114,6 +115,9 @@ public class NotificationData { public ArraySet<Integer> mActiveAppOps = new ArraySet<>(3); public CharSequence headsUpStatusBarText; public CharSequence headsUpStatusBarTextPublic; private long initializationTime = -1; /** * Whether or not this row represents a system notification. Note that if this is * {@code null}, that means we were either unable to retrieve the info or have yet to Loading Loading @@ -169,6 +173,11 @@ public class NotificationData { return SystemClock.elapsedRealtime() < lastRemoteInputSent + REMOTE_INPUT_COOLDOWN; } public boolean hasFinishedInitialization() { return initializationTime == -1 || SystemClock.elapsedRealtime() > initializationTime + INITIALIZATION_DELAY; } /** * Create the icons for a notification * @param context the context to create the icons with Loading Loading @@ -341,6 +350,12 @@ public class NotificationData { } return false; } public void setInitializationTime(long time) { if (initializationTime == -1) { initializationTime = time; } } } private final ArrayMap<String, Entry> mEntries = new ArrayMap<>(); Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +7 −4 Original line number Diff line number Diff line Loading @@ -4715,12 +4715,15 @@ public class NotificationStackScrollLayout extends ViewGroup if (currView instanceof ExpandableNotificationRow) { ExpandableNotificationRow row = (ExpandableNotificationRow) currView; if (row.getEntry().hasFinishedInitialization()) { mCurrMenuRow = row.createMenu(); mCurrMenuRow.setSwipeActionHelper(NotificationSwipeHelper.this); mCurrMenuRow.setMenuClickListener(NotificationStackScrollLayout.this); mCurrMenuRow.onTouchEvent(currView, ev, 0 /* velocity */); } } } @Override public void onMoveUpdate(View view, MotionEvent ev, float translation, float delta) { Loading packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +1 −1 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class StackScrollAlgorithm { return false; } ExpandableNotificationRow row = (ExpandableNotificationRow) v; if (row.areGutsExposed()) { if (row.areGutsExposed() || !row.getEntry().hasFinishedInitialization()) { return false; } return row.canViewBeDismissed(); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +2 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Build; import android.os.SystemClock; import android.os.Bundle; import android.service.notification.StatusBarNotification; import android.util.ArraySet; Loading Loading @@ -992,6 +993,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); mEntry.setInitializationTime(SystemClock.elapsedRealtime()); Dependency.get(PluginManager.class).addPluginListener(this, NotificationMenuRowPlugin.class, false /* Allow multiple */); } Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationData.java +15 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ public class NotificationData { public static final class Entry { private static final long LAUNCH_COOLDOWN = 2000; private static final long REMOTE_INPUT_COOLDOWN = 500; private static final long INITIALIZATION_DELAY = 400; private static final long NOT_LAUNCHED_YET = -LAUNCH_COOLDOWN; private static final int COLOR_INVALID = 1; public String key; Loading Loading @@ -114,6 +115,9 @@ public class NotificationData { public ArraySet<Integer> mActiveAppOps = new ArraySet<>(3); public CharSequence headsUpStatusBarText; public CharSequence headsUpStatusBarTextPublic; private long initializationTime = -1; /** * Whether or not this row represents a system notification. Note that if this is * {@code null}, that means we were either unable to retrieve the info or have yet to Loading Loading @@ -169,6 +173,11 @@ public class NotificationData { return SystemClock.elapsedRealtime() < lastRemoteInputSent + REMOTE_INPUT_COOLDOWN; } public boolean hasFinishedInitialization() { return initializationTime == -1 || SystemClock.elapsedRealtime() > initializationTime + INITIALIZATION_DELAY; } /** * Create the icons for a notification * @param context the context to create the icons with Loading Loading @@ -341,6 +350,12 @@ public class NotificationData { } return false; } public void setInitializationTime(long time) { if (initializationTime == -1) { initializationTime = time; } } } private final ArrayMap<String, Entry> mEntries = new ArrayMap<>(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +7 −4 Original line number Diff line number Diff line Loading @@ -4715,12 +4715,15 @@ public class NotificationStackScrollLayout extends ViewGroup if (currView instanceof ExpandableNotificationRow) { ExpandableNotificationRow row = (ExpandableNotificationRow) currView; if (row.getEntry().hasFinishedInitialization()) { mCurrMenuRow = row.createMenu(); mCurrMenuRow.setSwipeActionHelper(NotificationSwipeHelper.this); mCurrMenuRow.setMenuClickListener(NotificationStackScrollLayout.this); mCurrMenuRow.onTouchEvent(currView, ev, 0 /* velocity */); } } } @Override public void onMoveUpdate(View view, MotionEvent ev, float translation, float delta) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +1 −1 Original line number Diff line number Diff line Loading @@ -178,7 +178,7 @@ public class StackScrollAlgorithm { return false; } ExpandableNotificationRow row = (ExpandableNotificationRow) v; if (row.areGutsExposed()) { if (row.areGutsExposed() || !row.getEntry().hasFinishedInitialization()) { return false; } return row.canViewBeDismissed(); Loading