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

Commit 2e89f0b6 authored by Danny Baumann's avatar Danny Baumann
Browse files

Fix Google Now animation.

Change-Id: I32efb2eb6dde3e1b45f4a7dd708003a85cfcc78b
parent d293f7c5
Loading
Loading
Loading
Loading
+19 −1
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.database.ContentObserver;
import android.media.AudioManager;
import android.media.AudioManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
@@ -114,7 +115,24 @@ public class SearchPanelView extends FrameLayout implements


        public void onTrigger(View v, final int target) {
        public void onTrigger(View v, final int target) {
            final int resId = mGlowPadView.getResourceIdForTarget(target);
            final int resId = mGlowPadView.getResourceIdForTarget(target);
            mActionTarget.launchAction(mTargetActivities[target - mStartPosOffset]);
            String action = mTargetActivities[target - mStartPosOffset];
            boolean isAssist = NavigationRingConstants.ACTION_ASSIST.equals(action);
            Bundle options = null;

            if (isAssist) {
                ActivityOptions opts = ActivityOptions.makeCustomAnimation(mContext,
                        R.anim.search_launch_enter, R.anim.search_launch_exit,
                        getHandler(), SearchPanelView.this);
                options = opts.toBundle();
                mWaitingForLaunch = true;
                vibrate();
            }

            boolean result = mActionTarget.launchAction(
                    mTargetActivities[target - mStartPosOffset], options);
            if (!result && isAssist) {
                onAnimationStarted();
            }
        }
        }


        public void onFinishFinalAnimation() {
        public void onFinishFinalAnimation() {
+17 −4
Original line number Original line Diff line number Diff line
@@ -28,6 +28,7 @@ import android.content.pm.ResolveInfo;
import android.hardware.input.InputManager;
import android.hardware.input.InputManager;
import android.media.AudioManager;
import android.media.AudioManager;
import android.media.ToneGenerator;
import android.media.ToneGenerator;
import android.os.Bundle;
import android.os.Handler;
import android.os.Handler;
import android.os.IBinder;
import android.os.IBinder;
import android.os.Message;
import android.os.Message;
@@ -35,6 +36,7 @@ import android.os.Messenger;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.Vibrator;
import android.os.Vibrator;
import android.text.TextUtils;
import android.text.TextUtils;
import android.util.Log;
import android.util.Log;
@@ -45,8 +47,8 @@ import android.widget.Toast;


import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.cm.TorchConstants;
import com.android.internal.util.cm.TorchConstants;
import com.android.internal.R;
import static com.android.internal.util.cm.NavigationRingConstants.*;
import static com.android.internal.util.cm.NavigationRingConstants.*;
import com.android.systemui.R;
import com.android.systemui.screenshot.TakeScreenshotService;
import com.android.systemui.screenshot.TakeScreenshotService;


import java.net.URISyntaxException;
import java.net.URISyntaxException;
@@ -74,6 +76,10 @@ public class ActionTarget {
    }
    }


    public boolean launchAction(String action) {
    public boolean launchAction(String action) {
        return launchAction(action, null);
    }

    public boolean launchAction(String action, Bundle opts) {
        try {
        try {
            ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
            ActivityManagerNative.getDefault().dismissKeyguardOnNextActivity();
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -109,8 +115,15 @@ public class ActionTarget {
            return true;
            return true;
        } else if (action.equals(ACTION_ASSIST)) {
        } else if (action.equals(ACTION_ASSIST)) {
            Intent intent = new Intent(Intent.ACTION_ASSIST);
            Intent intent = new Intent(Intent.ACTION_ASSIST);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            mContext.startActivity(intent);

            try {
                mContext.startActivityAsUser(intent, opts, UserHandle.CURRENT);
            } catch (ActivityNotFoundException e) {
                Log.w(TAG, "Activity not found for " + intent.getAction());
                return false;
            }

            return true;
            return true;
        } else if (action.equals(ACTION_KILL)) {
        } else if (action.equals(ACTION_KILL)) {
            mHandler.post(mKillRunnable);
            mHandler.post(mKillRunnable);
@@ -154,7 +167,7 @@ public class ActionTarget {
            try {
            try {
                Intent intent = Intent.parseUri(action, 0);
                Intent intent = Intent.parseUri(action, 0);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                mContext.startActivity(intent);
                mContext.startActivityAsUser(intent, UserHandle.CURRENT);
                return true;
                return true;
            } catch (URISyntaxException e) {
            } catch (URISyntaxException e) {
                Log.e(TAG, "URISyntaxException: [" + action + "]");
                Log.e(TAG, "URISyntaxException: [" + action + "]");