From 2fc661a453c8dd0f62c4e567641ab282f2f2c5fe Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Tue, 2 Aug 2016 01:50:49 +0000 Subject: Revert "Prevent apps to overlay other apps via toast windows" bug:30150688 This reverts commit dc24f937b031f5f4e153dbfeaa51e96415a09b71. Change-Id: Id7e8ddbf82ab426f55a5296791f1e8ebb61514bc --- core/java/android/widget/Toast.java | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'core/java/android/widget/Toast.java') diff --git a/core/java/android/widget/Toast.java b/core/java/android/widget/Toast.java index eca10cb5e7fd..77626754264f 100644 --- a/core/java/android/widget/Toast.java +++ b/core/java/android/widget/Toast.java @@ -25,8 +25,6 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.PixelFormat; import android.os.Handler; -import android.os.IBinder; -import android.os.Message; import android.os.RemoteException; import android.os.ServiceManager; import android.util.Log; @@ -328,6 +326,13 @@ public class Toast { } private static class TN extends ITransientNotification.Stub { + final Runnable mShow = new Runnable() { + @Override + public void run() { + handleShow(); + } + }; + final Runnable mHide = new Runnable() { @Override public void run() { @@ -338,13 +343,7 @@ public class Toast { }; private final WindowManager.LayoutParams mParams = new WindowManager.LayoutParams(); - final Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - IBinder token = (IBinder) msg.obj; - handleShow(token); - } - }; + final Handler mHandler = new Handler(); int mGravity; int mX, mY; @@ -380,9 +379,9 @@ public class Toast { * schedule handleShow into the right thread */ @Override - public void show(IBinder windowToken) { + public void show() { if (localLOGV) Log.v(TAG, "SHOW: " + this); - mHandler.obtainMessage(0, windowToken).sendToTarget(); + mHandler.post(mShow); } /** @@ -394,7 +393,7 @@ public class Toast { mHandler.post(mHide); } - public void handleShow(IBinder windowToken) { + public void handleShow() { if (localLOGV) Log.v(TAG, "HANDLE SHOW: " + this + " mView=" + mView + " mNextView=" + mNextView); if (mView != mNextView) { @@ -423,9 +422,8 @@ public class Toast { mParams.verticalMargin = mVerticalMargin; mParams.horizontalMargin = mHorizontalMargin; mParams.packageName = packageName; - mParams.hideTimeoutMilliseconds = mDuration == + mParams.removeTimeoutMilliseconds = mDuration == Toast.LENGTH_LONG ? LONG_DURATION_TIMEOUT : SHORT_DURATION_TIMEOUT; - mParams.token = windowToken; if (mView.getParent() != null) { if (localLOGV) Log.v(TAG, "REMOVE! " + mView + " in " + this); mWM.removeView(mView); -- cgit v1.2.3