am 2df76285: am 203ed4db: am 88a6ed54: Merge "Reduce PackageInstaller Binder memory pressure." into lmp-dev
* commit '2df76285914692973a4dfa6d600a71584e3e1c2a': Reduce PackageInstaller Binder memory pressure.
This commit is contained in:
@@ -20,6 +20,7 @@ import android.content.pm.IPackageDeleteObserver2;
|
|||||||
import android.content.pm.IPackageInstallerCallback;
|
import android.content.pm.IPackageInstallerCallback;
|
||||||
import android.content.pm.IPackageInstallerSession;
|
import android.content.pm.IPackageInstallerSession;
|
||||||
import android.content.pm.PackageInstaller;
|
import android.content.pm.PackageInstaller;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.content.IntentSender;
|
import android.content.IntentSender;
|
||||||
|
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
@@ -37,8 +38,8 @@ interface IPackageInstaller {
|
|||||||
|
|
||||||
PackageInstaller.SessionInfo getSessionInfo(int sessionId);
|
PackageInstaller.SessionInfo getSessionInfo(int sessionId);
|
||||||
|
|
||||||
List<PackageInstaller.SessionInfo> getAllSessions(int userId);
|
ParceledListSlice getAllSessions(int userId);
|
||||||
List<PackageInstaller.SessionInfo> getMySessions(String installerPackageName, int userId);
|
ParceledListSlice getMySessions(String installerPackageName, int userId);
|
||||||
|
|
||||||
void registerCallback(IPackageInstallerCallback callback, int userId);
|
void registerCallback(IPackageInstallerCallback callback, int userId);
|
||||||
void unregisterCallback(IPackageInstallerCallback callback);
|
void unregisterCallback(IPackageInstallerCallback callback);
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ public class PackageInstaller {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return mInstaller.getAllSessions(mUserId);
|
return mInstaller.getAllSessions(mUserId).getList();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
throw e.rethrowAsRuntimeException();
|
throw e.rethrowAsRuntimeException();
|
||||||
}
|
}
|
||||||
@@ -410,7 +410,7 @@ public class PackageInstaller {
|
|||||||
*/
|
*/
|
||||||
public @NonNull List<SessionInfo> getMySessions() {
|
public @NonNull List<SessionInfo> getMySessions() {
|
||||||
try {
|
try {
|
||||||
return mInstaller.getMySessions(mInstallerPackageName, mUserId);
|
return mInstaller.getMySessions(mInstallerPackageName, mUserId).getList();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
throw e.rethrowAsRuntimeException();
|
throw e.rethrowAsRuntimeException();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ import android.content.pm.PackageInstaller;
|
|||||||
import android.content.pm.PackageInstaller.SessionInfo;
|
import android.content.pm.PackageInstaller.SessionInfo;
|
||||||
import android.content.pm.PackageInstaller.SessionParams;
|
import android.content.pm.PackageInstaller.SessionParams;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.pm.ParceledListSlice;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Bitmap.CompressFormat;
|
import android.graphics.Bitmap.CompressFormat;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
@@ -714,7 +715,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SessionInfo> getAllSessions(int userId) {
|
public ParceledListSlice<SessionInfo> getAllSessions(int userId) {
|
||||||
mPm.enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false, "getAllSessions");
|
mPm.enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false, "getAllSessions");
|
||||||
|
|
||||||
final List<SessionInfo> result = new ArrayList<>();
|
final List<SessionInfo> result = new ArrayList<>();
|
||||||
@@ -726,11 +727,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return new ParceledListSlice<>(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SessionInfo> getMySessions(String installerPackageName, int userId) {
|
public ParceledListSlice<SessionInfo> getMySessions(String installerPackageName, int userId) {
|
||||||
mPm.enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false, "getMySessions");
|
mPm.enforceCrossUserPermission(Binder.getCallingUid(), userId, true, false, "getMySessions");
|
||||||
mAppOps.checkPackage(Binder.getCallingUid(), installerPackageName);
|
mAppOps.checkPackage(Binder.getCallingUid(), installerPackageName);
|
||||||
|
|
||||||
@@ -744,7 +745,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return new ParceledListSlice<>(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user