Loading api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -5650,8 +5650,8 @@ package android.os.image { method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void bind(); method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener); method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull String, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull String, long, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull android.net.Uri, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull android.net.Uri, long, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void unbind(); field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6 field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4 Loading core/java/android/os/image/DynamicSystemClient.java +4 −9 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -206,12 +207,6 @@ public class DynamicSystemClient { /* * Intent Keys */ /** * Intent key: URL to system image. * @hide */ public static final String KEY_SYSTEM_URL = "KEY_SYSTEM_URL"; /** * Intent key: Size of system image, in bytes. * @hide Loading Loading @@ -366,7 +361,7 @@ public class DynamicSystemClient { * @param systemSize size of system image. */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public void start(@NonNull String systemUrl, @BytesLong long systemSize) { public void start(@NonNull Uri systemUrl, @BytesLong long systemSize) { start(systemUrl, systemSize, DEFAULT_USERDATA_SIZE); } Loading @@ -383,16 +378,16 @@ public class DynamicSystemClient { * @param userdataSize bytes reserved for userdata. */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public void start(@NonNull String systemUrl, @BytesLong long systemSize, public void start(@NonNull Uri systemUrl, @BytesLong long systemSize, @BytesLong long userdataSize) { Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", "com.android.dynsystem.VerificationActivity"); intent.setData(systemUrl); intent.setAction(ACTION_START_INSTALL); intent.putExtra(KEY_SYSTEM_URL, systemUrl); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading packages/DynamicSystemInstallationService/src/com/android/dynandroid/DynamicSystemInstallationService.java +3 −3 Original line number Diff line number Diff line Loading @@ -221,12 +221,12 @@ public class DynamicSystemInstallationService extends Service return; } String url = intent.getStringExtra(DynamicSystemClient.KEY_SYSTEM_URL); String url = intent.getDataString(); mSystemSize = intent.getLongExtra(DynamicSystemClient.KEY_SYSTEM_SIZE, 0); mUserdataSize = intent.getLongExtra(DynamicSystemClient.KEY_USERDATA_SIZE, 0); mInstallTask = new InstallationAsyncTask( url, mSystemSize, mUserdataSize, mDynSystem, this); url, mSystemSize, mUserdataSize, this, mDynSystem, this); mInstallTask.execute(); Loading Loading @@ -410,7 +410,7 @@ public class DynamicSystemInstallationService extends Service } private boolean verifyRequest(Intent intent) { String url = intent.getStringExtra(DynamicSystemClient.KEY_SYSTEM_URL); String url = intent.getDataString(); return VerificationActivity.isVerified(url); } Loading packages/DynamicSystemInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java +9 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,9 @@ package com.android.dynsystem; import android.content.Context; import android.gsi.GsiProgress; import android.net.Uri; import android.os.AsyncTask; import android.os.image.DynamicSystemManager; import android.util.Log; Loading Loading @@ -59,6 +61,7 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private final String mUrl; private final long mSystemSize; private final long mUserdataSize; private final Context mContext; private final DynamicSystemManager mDynSystem; private final InstallStatusListener mListener; private DynamicSystemManager.Session mInstallationSession; Loading @@ -68,11 +71,12 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private InputStream mStream; InstallationAsyncTask(String url, long systemSize, long userdataSize, InstallationAsyncTask(String url, long systemSize, long userdataSize, Context context, DynamicSystemManager dynSystem, InstallStatusListener listener) { mUrl = url; mSystemSize = systemSize; mUserdataSize = userdataSize; mContext = context; mDynSystem = dynSystem; mListener = listener; } Loading Loading @@ -197,6 +201,10 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private void initInputStream() throws IOException, InvalidImageUrlException { if (URLUtil.isNetworkUrl(mUrl) || URLUtil.isFileUrl(mUrl)) { mStream = new BufferedInputStream(new GZIPInputStream(new URL(mUrl).openStream())); } else if (URLUtil.isContentUrl(mUrl)) { Uri uri = Uri.parse(mUrl); mStream = new BufferedInputStream(new GZIPInputStream( mContext.getContentResolver().openInputStream(uri))); } else { throw new InvalidImageUrlException( String.format(Locale.US, "Unsupported file source: %s", mUrl)); Loading packages/DynamicSystemInstallationService/src/com/android/dynandroid/VerificationActivity.java +4 −4 Original line number Diff line number Diff line Loading @@ -17,13 +17,13 @@ package com.android.dynsystem; import static android.os.image.DynamicSystemClient.KEY_SYSTEM_SIZE; import static android.os.image.DynamicSystemClient.KEY_SYSTEM_URL; import static android.os.image.DynamicSystemClient.KEY_USERDATA_SIZE; import android.app.Activity; import android.app.KeyguardManager; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.UserHandle; import android.os.image.DynamicSystemClient; Loading Loading @@ -81,16 +81,16 @@ public class VerificationActivity extends Activity { // retrieve data from calling intent Intent callingIntent = getIntent(); String url = callingIntent.getStringExtra(KEY_SYSTEM_URL); Uri url = callingIntent.getData(); long systemSize = callingIntent.getLongExtra(KEY_SYSTEM_SIZE, 0); long userdataSize = callingIntent.getLongExtra(KEY_USERDATA_SIZE, 0); sVerifiedUrl = url; sVerifiedUrl = url.toString(); // start service Intent intent = new Intent(this, DynamicSystemInstallationService.class); intent.setData(url); intent.setAction(DynamicSystemClient.ACTION_START_INSTALL); intent.putExtra(KEY_SYSTEM_URL, url); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading Loading
api/system-current.txt +2 −2 Original line number Diff line number Diff line Loading @@ -5650,8 +5650,8 @@ package android.os.image { method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void bind(); method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener); method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull String, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull String, long, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull android.net.Uri, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void start(@NonNull android.net.Uri, long, long); method @RequiresPermission("android.permission.MANAGE_DYNAMIC_SYSTEM") public void unbind(); field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6 field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4 Loading
core/java/android/os/image/DynamicSystemClient.java +4 −9 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; Loading Loading @@ -206,12 +207,6 @@ public class DynamicSystemClient { /* * Intent Keys */ /** * Intent key: URL to system image. * @hide */ public static final String KEY_SYSTEM_URL = "KEY_SYSTEM_URL"; /** * Intent key: Size of system image, in bytes. * @hide Loading Loading @@ -366,7 +361,7 @@ public class DynamicSystemClient { * @param systemSize size of system image. */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public void start(@NonNull String systemUrl, @BytesLong long systemSize) { public void start(@NonNull Uri systemUrl, @BytesLong long systemSize) { start(systemUrl, systemSize, DEFAULT_USERDATA_SIZE); } Loading @@ -383,16 +378,16 @@ public class DynamicSystemClient { * @param userdataSize bytes reserved for userdata. */ @RequiresPermission(android.Manifest.permission.MANAGE_DYNAMIC_SYSTEM) public void start(@NonNull String systemUrl, @BytesLong long systemSize, public void start(@NonNull Uri systemUrl, @BytesLong long systemSize, @BytesLong long userdataSize) { Intent intent = new Intent(); intent.setClassName("com.android.dynsystem", "com.android.dynsystem.VerificationActivity"); intent.setData(systemUrl); intent.setAction(ACTION_START_INSTALL); intent.putExtra(KEY_SYSTEM_URL, systemUrl); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading
packages/DynamicSystemInstallationService/src/com/android/dynandroid/DynamicSystemInstallationService.java +3 −3 Original line number Diff line number Diff line Loading @@ -221,12 +221,12 @@ public class DynamicSystemInstallationService extends Service return; } String url = intent.getStringExtra(DynamicSystemClient.KEY_SYSTEM_URL); String url = intent.getDataString(); mSystemSize = intent.getLongExtra(DynamicSystemClient.KEY_SYSTEM_SIZE, 0); mUserdataSize = intent.getLongExtra(DynamicSystemClient.KEY_USERDATA_SIZE, 0); mInstallTask = new InstallationAsyncTask( url, mSystemSize, mUserdataSize, mDynSystem, this); url, mSystemSize, mUserdataSize, this, mDynSystem, this); mInstallTask.execute(); Loading Loading @@ -410,7 +410,7 @@ public class DynamicSystemInstallationService extends Service } private boolean verifyRequest(Intent intent) { String url = intent.getStringExtra(DynamicSystemClient.KEY_SYSTEM_URL); String url = intent.getDataString(); return VerificationActivity.isVerified(url); } Loading
packages/DynamicSystemInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java +9 −1 Original line number Diff line number Diff line Loading @@ -16,7 +16,9 @@ package com.android.dynsystem; import android.content.Context; import android.gsi.GsiProgress; import android.net.Uri; import android.os.AsyncTask; import android.os.image.DynamicSystemManager; import android.util.Log; Loading Loading @@ -59,6 +61,7 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private final String mUrl; private final long mSystemSize; private final long mUserdataSize; private final Context mContext; private final DynamicSystemManager mDynSystem; private final InstallStatusListener mListener; private DynamicSystemManager.Session mInstallationSession; Loading @@ -68,11 +71,12 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private InputStream mStream; InstallationAsyncTask(String url, long systemSize, long userdataSize, InstallationAsyncTask(String url, long systemSize, long userdataSize, Context context, DynamicSystemManager dynSystem, InstallStatusListener listener) { mUrl = url; mSystemSize = systemSize; mUserdataSize = userdataSize; mContext = context; mDynSystem = dynSystem; mListener = listener; } Loading Loading @@ -197,6 +201,10 @@ class InstallationAsyncTask extends AsyncTask<String, Long, Throwable> { private void initInputStream() throws IOException, InvalidImageUrlException { if (URLUtil.isNetworkUrl(mUrl) || URLUtil.isFileUrl(mUrl)) { mStream = new BufferedInputStream(new GZIPInputStream(new URL(mUrl).openStream())); } else if (URLUtil.isContentUrl(mUrl)) { Uri uri = Uri.parse(mUrl); mStream = new BufferedInputStream(new GZIPInputStream( mContext.getContentResolver().openInputStream(uri))); } else { throw new InvalidImageUrlException( String.format(Locale.US, "Unsupported file source: %s", mUrl)); Loading
packages/DynamicSystemInstallationService/src/com/android/dynandroid/VerificationActivity.java +4 −4 Original line number Diff line number Diff line Loading @@ -17,13 +17,13 @@ package com.android.dynsystem; import static android.os.image.DynamicSystemClient.KEY_SYSTEM_SIZE; import static android.os.image.DynamicSystemClient.KEY_SYSTEM_URL; import static android.os.image.DynamicSystemClient.KEY_USERDATA_SIZE; import android.app.Activity; import android.app.KeyguardManager; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.os.UserHandle; import android.os.image.DynamicSystemClient; Loading Loading @@ -81,16 +81,16 @@ public class VerificationActivity extends Activity { // retrieve data from calling intent Intent callingIntent = getIntent(); String url = callingIntent.getStringExtra(KEY_SYSTEM_URL); Uri url = callingIntent.getData(); long systemSize = callingIntent.getLongExtra(KEY_SYSTEM_SIZE, 0); long userdataSize = callingIntent.getLongExtra(KEY_USERDATA_SIZE, 0); sVerifiedUrl = url; sVerifiedUrl = url.toString(); // start service Intent intent = new Intent(this, DynamicSystemInstallationService.class); intent.setData(url); intent.setAction(DynamicSystemClient.ACTION_START_INSTALL); intent.putExtra(KEY_SYSTEM_URL, url); intent.putExtra(KEY_SYSTEM_SIZE, systemSize); intent.putExtra(KEY_USERDATA_SIZE, userdataSize); Loading