Loading core/java/android/app/ActivityManager.java +0 −178 Original line number Diff line number Diff line Loading @@ -141,16 +141,6 @@ public class ActivityManager { private static final int FIRST_START_NON_FATAL_ERROR_CODE = 100; private static final int LAST_START_NON_FATAL_ERROR_CODE = 199; /** * System property to enable task snapshots. * @hide */ public final static boolean ENABLE_TASK_SNAPSHOTS; static { ENABLE_TASK_SNAPSHOTS = SystemProperties.getBoolean("persist.enable_task_snapshots", true); } static final class UidObserver extends IUidObserver.Stub { final OnUidImportanceListener mListener; final Context mContext; Loading Loading @@ -2100,165 +2090,6 @@ public class ActivityManager { } } /** * Metadata related to the {@link TaskThumbnail}. * * @hide */ public static class TaskThumbnailInfo implements Parcelable { /** @hide */ public static final String ATTR_TASK_THUMBNAILINFO_PREFIX = "task_thumbnailinfo_"; private static final String ATTR_TASK_WIDTH = ATTR_TASK_THUMBNAILINFO_PREFIX + "task_width"; private static final String ATTR_TASK_HEIGHT = ATTR_TASK_THUMBNAILINFO_PREFIX + "task_height"; private static final String ATTR_SCREEN_ORIENTATION = ATTR_TASK_THUMBNAILINFO_PREFIX + "screen_orientation"; public int taskWidth; public int taskHeight; public int screenOrientation = Configuration.ORIENTATION_UNDEFINED; public TaskThumbnailInfo() { // Do nothing } private TaskThumbnailInfo(Parcel source) { readFromParcel(source); } /** * Resets this info state to the initial state. * @hide */ public void reset() { taskWidth = 0; taskHeight = 0; screenOrientation = Configuration.ORIENTATION_UNDEFINED; } /** * Copies from another ThumbnailInfo. */ public void copyFrom(TaskThumbnailInfo o) { taskWidth = o.taskWidth; taskHeight = o.taskHeight; screenOrientation = o.screenOrientation; } /** @hide */ public void saveToXml(XmlSerializer out) throws IOException { out.attribute(null, ATTR_TASK_WIDTH, Integer.toString(taskWidth)); out.attribute(null, ATTR_TASK_HEIGHT, Integer.toString(taskHeight)); out.attribute(null, ATTR_SCREEN_ORIENTATION, Integer.toString(screenOrientation)); } /** @hide */ public void restoreFromXml(String attrName, String attrValue) { if (ATTR_TASK_WIDTH.equals(attrName)) { taskWidth = Integer.parseInt(attrValue); } else if (ATTR_TASK_HEIGHT.equals(attrName)) { taskHeight = Integer.parseInt(attrValue); } else if (ATTR_SCREEN_ORIENTATION.equals(attrName)) { screenOrientation = Integer.parseInt(attrValue); } } public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { dest.writeInt(taskWidth); dest.writeInt(taskHeight); dest.writeInt(screenOrientation); } public void readFromParcel(Parcel source) { taskWidth = source.readInt(); taskHeight = source.readInt(); screenOrientation = source.readInt(); } public static final Creator<TaskThumbnailInfo> CREATOR = new Creator<TaskThumbnailInfo>() { public TaskThumbnailInfo createFromParcel(Parcel source) { return new TaskThumbnailInfo(source); } public TaskThumbnailInfo[] newArray(int size) { return new TaskThumbnailInfo[size]; } }; } /** @hide */ public static class TaskThumbnail implements Parcelable { public Bitmap mainThumbnail; public ParcelFileDescriptor thumbnailFileDescriptor; public TaskThumbnailInfo thumbnailInfo; public TaskThumbnail() { } private TaskThumbnail(Parcel source) { readFromParcel(source); } public int describeContents() { if (thumbnailFileDescriptor != null) { return thumbnailFileDescriptor.describeContents(); } return 0; } public void writeToParcel(Parcel dest, int flags) { if (mainThumbnail != null) { dest.writeInt(1); mainThumbnail.writeToParcel(dest, flags); } else { dest.writeInt(0); } if (thumbnailFileDescriptor != null) { dest.writeInt(1); thumbnailFileDescriptor.writeToParcel(dest, flags); } else { dest.writeInt(0); } if (thumbnailInfo != null) { dest.writeInt(1); thumbnailInfo.writeToParcel(dest, flags); } else { dest.writeInt(0); } } public void readFromParcel(Parcel source) { if (source.readInt() != 0) { mainThumbnail = Bitmap.CREATOR.createFromParcel(source); } else { mainThumbnail = null; } if (source.readInt() != 0) { thumbnailFileDescriptor = ParcelFileDescriptor.CREATOR.createFromParcel(source); } else { thumbnailFileDescriptor = null; } if (source.readInt() != 0) { thumbnailInfo = TaskThumbnailInfo.CREATOR.createFromParcel(source); } else { thumbnailInfo = null; } } public static final Creator<TaskThumbnail> CREATOR = new Creator<TaskThumbnail>() { public TaskThumbnail createFromParcel(Parcel source) { return new TaskThumbnail(source); } public TaskThumbnail[] newArray(int size) { return new TaskThumbnail[size]; } }; } /** * Represents a task snapshot. * @hide Loading Loading @@ -2355,15 +2186,6 @@ public class ActivityManager { }; } /** @hide */ public TaskThumbnail getTaskThumbnail(int id) throws SecurityException { try { return getService().getTaskThumbnail(id); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** @hide */ @IntDef(flag = true, prefix = { "MOVE_TASK_" }, value = { MOVE_TASK_WITH_HOME, Loading core/java/android/app/ActivityManagerInternal.java +0 −6 Original line number Diff line number Diff line Loading @@ -39,12 +39,6 @@ import java.util.List; */ public abstract class ActivityManagerInternal { /** * Type for {@link #notifyAppTransitionStarting}: The transition was started because we had * the surface saved. */ public static final int APP_TRANSITION_SAVED_SURFACE = 0; /** * Type for {@link #notifyAppTransitionStarting}: The transition was started because we drew * the splash screen. Loading core/java/android/app/IActivityManager.aidl +0 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,6 @@ interface IActivityManager { void forceStopPackage(in String packageName, int userId); boolean killPids(in int[] pids, in String reason, boolean secure); List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags); ActivityManager.TaskThumbnail getTaskThumbnail(int taskId); ActivityManager.TaskDescription getTaskDescription(int taskId); // Retrieve running application processes in the system List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses(); Loading packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +10 −54 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Point; import android.graphics.PorterDuff; Loading @@ -59,7 +58,6 @@ import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.IRemoteCallback; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; Loading Loading @@ -95,9 +93,7 @@ import com.android.systemui.recents.RecentsImpl; import com.android.systemui.recents.model.Task; import com.android.systemui.recents.model.ThumbnailData; import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; Loading Loading @@ -717,21 +713,7 @@ public class SystemServicesProxy { return thumbnailData; } ThumbnailData thumbnailData = getThumbnail(taskId, reduced); if (thumbnailData.thumbnail != null && !ActivityManager.ENABLE_TASK_SNAPSHOTS) { thumbnailData.thumbnail.setHasAlpha(false); // We use a dumb heuristic for now, if the thumbnail is purely transparent in the top // left pixel, then assume the whole thumbnail is transparent. Generally, proper // screenshots are always composed onto a bitmap that has no alpha. if (Color.alpha(thumbnailData.thumbnail.getPixel(0, 0)) == 0) { mBgProtectionCanvas.setBitmap(thumbnailData.thumbnail); mBgProtectionCanvas.drawRect(0, 0, thumbnailData.thumbnail.getWidth(), thumbnailData.thumbnail.getHeight(), mBgProtectionPaint); mBgProtectionCanvas.setBitmap(null); Log.e(TAG, "Invalid screenshot detected from getTaskThumbnail()"); } } return thumbnailData; return getThumbnail(taskId, reduced); } /** Loading @@ -742,8 +724,6 @@ public class SystemServicesProxy { return new ThumbnailData(); } final ThumbnailData thumbnailData; if (ActivityManager.ENABLE_TASK_SNAPSHOTS) { ActivityManager.TaskSnapshot snapshot = null; try { snapshot = ActivityManager.getService().getTaskSnapshot(taskId, reducedResolution); Loading @@ -751,34 +731,10 @@ public class SystemServicesProxy { Log.w(TAG, "Failed to retrieve snapshot", e); } if (snapshot != null) { thumbnailData = ThumbnailData.createFromTaskSnapshot(snapshot); return ThumbnailData.createFromTaskSnapshot(snapshot); } else { return new ThumbnailData(); } } else { ActivityManager.TaskThumbnail taskThumbnail = mAm.getTaskThumbnail(taskId); if (taskThumbnail == null) { return new ThumbnailData(); } Bitmap thumbnail = taskThumbnail.mainThumbnail; ParcelFileDescriptor descriptor = taskThumbnail.thumbnailFileDescriptor; if (thumbnail == null && descriptor != null) { thumbnail = BitmapFactory.decodeFileDescriptor(descriptor.getFileDescriptor(), null, sBitmapOptions); } if (descriptor != null) { try { descriptor.close(); } catch (IOException e) { } } thumbnailData = new ThumbnailData(); thumbnailData.thumbnail = thumbnail; thumbnailData.orientation = taskThumbnail.thumbnailInfo.screenOrientation; thumbnailData.insets.setEmpty(); } return thumbnailData; } /** Loading packages/SystemUI/src/com/android/systemui/recents/model/Task.java +0 −3 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ package com.android.systemui.recents.model; import android.app.ActivityManager; import android.app.ActivityManager.TaskThumbnail; import android.content.ComponentName; import android.content.Intent; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.Drawable; Loading @@ -35,7 +33,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Objects; /** * A task represents the top most task in the system's task stack. */ Loading Loading
core/java/android/app/ActivityManager.java +0 −178 Original line number Diff line number Diff line Loading @@ -141,16 +141,6 @@ public class ActivityManager { private static final int FIRST_START_NON_FATAL_ERROR_CODE = 100; private static final int LAST_START_NON_FATAL_ERROR_CODE = 199; /** * System property to enable task snapshots. * @hide */ public final static boolean ENABLE_TASK_SNAPSHOTS; static { ENABLE_TASK_SNAPSHOTS = SystemProperties.getBoolean("persist.enable_task_snapshots", true); } static final class UidObserver extends IUidObserver.Stub { final OnUidImportanceListener mListener; final Context mContext; Loading Loading @@ -2100,165 +2090,6 @@ public class ActivityManager { } } /** * Metadata related to the {@link TaskThumbnail}. * * @hide */ public static class TaskThumbnailInfo implements Parcelable { /** @hide */ public static final String ATTR_TASK_THUMBNAILINFO_PREFIX = "task_thumbnailinfo_"; private static final String ATTR_TASK_WIDTH = ATTR_TASK_THUMBNAILINFO_PREFIX + "task_width"; private static final String ATTR_TASK_HEIGHT = ATTR_TASK_THUMBNAILINFO_PREFIX + "task_height"; private static final String ATTR_SCREEN_ORIENTATION = ATTR_TASK_THUMBNAILINFO_PREFIX + "screen_orientation"; public int taskWidth; public int taskHeight; public int screenOrientation = Configuration.ORIENTATION_UNDEFINED; public TaskThumbnailInfo() { // Do nothing } private TaskThumbnailInfo(Parcel source) { readFromParcel(source); } /** * Resets this info state to the initial state. * @hide */ public void reset() { taskWidth = 0; taskHeight = 0; screenOrientation = Configuration.ORIENTATION_UNDEFINED; } /** * Copies from another ThumbnailInfo. */ public void copyFrom(TaskThumbnailInfo o) { taskWidth = o.taskWidth; taskHeight = o.taskHeight; screenOrientation = o.screenOrientation; } /** @hide */ public void saveToXml(XmlSerializer out) throws IOException { out.attribute(null, ATTR_TASK_WIDTH, Integer.toString(taskWidth)); out.attribute(null, ATTR_TASK_HEIGHT, Integer.toString(taskHeight)); out.attribute(null, ATTR_SCREEN_ORIENTATION, Integer.toString(screenOrientation)); } /** @hide */ public void restoreFromXml(String attrName, String attrValue) { if (ATTR_TASK_WIDTH.equals(attrName)) { taskWidth = Integer.parseInt(attrValue); } else if (ATTR_TASK_HEIGHT.equals(attrName)) { taskHeight = Integer.parseInt(attrValue); } else if (ATTR_SCREEN_ORIENTATION.equals(attrName)) { screenOrientation = Integer.parseInt(attrValue); } } public int describeContents() { return 0; } public void writeToParcel(Parcel dest, int flags) { dest.writeInt(taskWidth); dest.writeInt(taskHeight); dest.writeInt(screenOrientation); } public void readFromParcel(Parcel source) { taskWidth = source.readInt(); taskHeight = source.readInt(); screenOrientation = source.readInt(); } public static final Creator<TaskThumbnailInfo> CREATOR = new Creator<TaskThumbnailInfo>() { public TaskThumbnailInfo createFromParcel(Parcel source) { return new TaskThumbnailInfo(source); } public TaskThumbnailInfo[] newArray(int size) { return new TaskThumbnailInfo[size]; } }; } /** @hide */ public static class TaskThumbnail implements Parcelable { public Bitmap mainThumbnail; public ParcelFileDescriptor thumbnailFileDescriptor; public TaskThumbnailInfo thumbnailInfo; public TaskThumbnail() { } private TaskThumbnail(Parcel source) { readFromParcel(source); } public int describeContents() { if (thumbnailFileDescriptor != null) { return thumbnailFileDescriptor.describeContents(); } return 0; } public void writeToParcel(Parcel dest, int flags) { if (mainThumbnail != null) { dest.writeInt(1); mainThumbnail.writeToParcel(dest, flags); } else { dest.writeInt(0); } if (thumbnailFileDescriptor != null) { dest.writeInt(1); thumbnailFileDescriptor.writeToParcel(dest, flags); } else { dest.writeInt(0); } if (thumbnailInfo != null) { dest.writeInt(1); thumbnailInfo.writeToParcel(dest, flags); } else { dest.writeInt(0); } } public void readFromParcel(Parcel source) { if (source.readInt() != 0) { mainThumbnail = Bitmap.CREATOR.createFromParcel(source); } else { mainThumbnail = null; } if (source.readInt() != 0) { thumbnailFileDescriptor = ParcelFileDescriptor.CREATOR.createFromParcel(source); } else { thumbnailFileDescriptor = null; } if (source.readInt() != 0) { thumbnailInfo = TaskThumbnailInfo.CREATOR.createFromParcel(source); } else { thumbnailInfo = null; } } public static final Creator<TaskThumbnail> CREATOR = new Creator<TaskThumbnail>() { public TaskThumbnail createFromParcel(Parcel source) { return new TaskThumbnail(source); } public TaskThumbnail[] newArray(int size) { return new TaskThumbnail[size]; } }; } /** * Represents a task snapshot. * @hide Loading Loading @@ -2355,15 +2186,6 @@ public class ActivityManager { }; } /** @hide */ public TaskThumbnail getTaskThumbnail(int id) throws SecurityException { try { return getService().getTaskThumbnail(id); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** @hide */ @IntDef(flag = true, prefix = { "MOVE_TASK_" }, value = { MOVE_TASK_WITH_HOME, Loading
core/java/android/app/ActivityManagerInternal.java +0 −6 Original line number Diff line number Diff line Loading @@ -39,12 +39,6 @@ import java.util.List; */ public abstract class ActivityManagerInternal { /** * Type for {@link #notifyAppTransitionStarting}: The transition was started because we had * the surface saved. */ public static final int APP_TRANSITION_SAVED_SURFACE = 0; /** * Type for {@link #notifyAppTransitionStarting}: The transition was started because we drew * the splash screen. Loading
core/java/android/app/IActivityManager.aidl +0 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,6 @@ interface IActivityManager { void forceStopPackage(in String packageName, int userId); boolean killPids(in int[] pids, in String reason, boolean secure); List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags); ActivityManager.TaskThumbnail getTaskThumbnail(int taskId); ActivityManager.TaskDescription getTaskDescription(int taskId); // Retrieve running application processes in the system List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses(); Loading
packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java +10 −54 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Point; import android.graphics.PorterDuff; Loading @@ -59,7 +58,6 @@ import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.IRemoteCallback; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.os.ServiceManager; import android.os.SystemProperties; Loading Loading @@ -95,9 +93,7 @@ import com.android.systemui.recents.RecentsImpl; import com.android.systemui.recents.model.Task; import com.android.systemui.recents.model.ThumbnailData; import com.android.systemui.statusbar.policy.UserInfoController; import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; Loading Loading @@ -717,21 +713,7 @@ public class SystemServicesProxy { return thumbnailData; } ThumbnailData thumbnailData = getThumbnail(taskId, reduced); if (thumbnailData.thumbnail != null && !ActivityManager.ENABLE_TASK_SNAPSHOTS) { thumbnailData.thumbnail.setHasAlpha(false); // We use a dumb heuristic for now, if the thumbnail is purely transparent in the top // left pixel, then assume the whole thumbnail is transparent. Generally, proper // screenshots are always composed onto a bitmap that has no alpha. if (Color.alpha(thumbnailData.thumbnail.getPixel(0, 0)) == 0) { mBgProtectionCanvas.setBitmap(thumbnailData.thumbnail); mBgProtectionCanvas.drawRect(0, 0, thumbnailData.thumbnail.getWidth(), thumbnailData.thumbnail.getHeight(), mBgProtectionPaint); mBgProtectionCanvas.setBitmap(null); Log.e(TAG, "Invalid screenshot detected from getTaskThumbnail()"); } } return thumbnailData; return getThumbnail(taskId, reduced); } /** Loading @@ -742,8 +724,6 @@ public class SystemServicesProxy { return new ThumbnailData(); } final ThumbnailData thumbnailData; if (ActivityManager.ENABLE_TASK_SNAPSHOTS) { ActivityManager.TaskSnapshot snapshot = null; try { snapshot = ActivityManager.getService().getTaskSnapshot(taskId, reducedResolution); Loading @@ -751,34 +731,10 @@ public class SystemServicesProxy { Log.w(TAG, "Failed to retrieve snapshot", e); } if (snapshot != null) { thumbnailData = ThumbnailData.createFromTaskSnapshot(snapshot); return ThumbnailData.createFromTaskSnapshot(snapshot); } else { return new ThumbnailData(); } } else { ActivityManager.TaskThumbnail taskThumbnail = mAm.getTaskThumbnail(taskId); if (taskThumbnail == null) { return new ThumbnailData(); } Bitmap thumbnail = taskThumbnail.mainThumbnail; ParcelFileDescriptor descriptor = taskThumbnail.thumbnailFileDescriptor; if (thumbnail == null && descriptor != null) { thumbnail = BitmapFactory.decodeFileDescriptor(descriptor.getFileDescriptor(), null, sBitmapOptions); } if (descriptor != null) { try { descriptor.close(); } catch (IOException e) { } } thumbnailData = new ThumbnailData(); thumbnailData.thumbnail = thumbnail; thumbnailData.orientation = taskThumbnail.thumbnailInfo.screenOrientation; thumbnailData.insets.setEmpty(); } return thumbnailData; } /** Loading
packages/SystemUI/src/com/android/systemui/recents/model/Task.java +0 −3 Original line number Diff line number Diff line Loading @@ -17,11 +17,9 @@ package com.android.systemui.recents.model; import android.app.ActivityManager; import android.app.ActivityManager.TaskThumbnail; import android.content.ComponentName; import android.content.Intent; import android.content.pm.ActivityInfo; import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.Rect; import android.graphics.drawable.Drawable; Loading @@ -35,7 +33,6 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Objects; /** * A task represents the top most task in the system's task stack. */ Loading