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

Commit fb28c0e1 authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Fix invisible security method

Also fixes a bug where notification guts couldn't be launched from
Keyguard.

Bug: 17162095
Change-Id: I50395065e568ca01e837b0540d5edfd8bbd5797a
parent 5cef4fa9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ public class KeyguardPINView extends KeyguardPinBasedInputView {
    @Override
    public void startAppearAnimation() {
        enableClipping(false);
        setAlpha(1f);
        setTranslationY(mAppearAnimationUtils.getStartTranslation());
        animate()
                .setDuration(500)
+2 −1
Original line number Diff line number Diff line
@@ -416,6 +416,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
    @Override
    public void startAppearAnimation() {
        enableClipping(false);
        setAlpha(1f);
        setTranslationY(mAppearAnimationUtils.getStartTranslation());
        animate()
                .setDuration(500)
@@ -444,7 +445,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit
        mLockPatternView.clearPattern();
        animate()
                .alpha(0f)
                .translationY(-100)
                .translationY(mDisappearYTranslation)
                .setInterpolator(AnimationUtils.loadInterpolator(
                        mContext, android.R.interpolator.fast_out_linear_in))
                .setDuration(100)
+28 −12
Original line number Diff line number Diff line
@@ -611,12 +611,35 @@ public abstract class BaseStatusBar extends SystemUI implements
               entry.expandedBig.findViewById(com.android.internal.R.id.media_action_area) != null;
    }

    private void startAppNotificationSettingsActivity(String packageName, int appUid) {
        Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
    private void startAppNotificationSettingsActivity(String packageName, final int appUid) {
        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
        intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName);
        intent.putExtra(Settings.EXTRA_APP_UID, appUid);
        TaskStackBuilder.create(mContext).addNextIntentWithParentStack(intent)
                .startActivities(null, new UserHandle(UserHandle.getUserId(appUid)));

        final boolean keyguardShowing = mStatusBarKeyguardViewManager.isShowing();
        dismissKeyguardThenExecute(new OnDismissAction() {
            @Override
            public boolean onDismiss() {
                AsyncTask.execute(new Runnable() {
                    public void run() {
                        try {
                            if (keyguardShowing) {
                                ActivityManagerNative.getDefault()
                                        .keyguardWaitingForActivityDrawn();
                            }
                            TaskStackBuilder.create(mContext)
                                    .addNextIntentWithParentStack(intent)
                                    .startActivities(null,
                                            new UserHandle(UserHandle.getUserId(appUid)));
                            overrideActivityPendingAppTransition(keyguardShowing);
                        } catch (RemoteException e) {
                        }
                    }
                });
                animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE, true /* force */);
                return true;
            }
        });
    }

    protected SwipeHelper.LongPressListener getNotificationLongClicker() {
@@ -1070,14 +1093,7 @@ public abstract class BaseStatusBar extends SystemUI implements
            final int appUidF = appUid;
            settingsButton.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    dismissKeyguardThenExecute(new OnDismissAction() {
                        public boolean onDismiss() {
                    startAppNotificationSettingsActivity(pkg, appUidF);
                            animateCollapsePanels(CommandQueue.FLAG_EXCLUDE_NONE);
                            visibilityChanged(false);
                            return true;
                        }
                    });
                }
            });
        } else {