Merge "DynamicSystemService: Use IGsid which reference-counts the gsid service." am: 5d8d5f9af7 am: 0f2909389e
am: 9b4c37be2c
Change-Id: Ib5e5556d8c7f12439f139ca25a73aa7e81162c6a
This commit is contained in:
@@ -21,6 +21,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.gsi.GsiInstallParams;
|
import android.gsi.GsiInstallParams;
|
||||||
import android.gsi.GsiProgress;
|
import android.gsi.GsiProgress;
|
||||||
import android.gsi.IGsiService;
|
import android.gsi.IGsiService;
|
||||||
|
import android.gsi.IGsid;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.IBinder.DeathRecipient;
|
import android.os.IBinder.DeathRecipient;
|
||||||
@@ -61,7 +62,9 @@ public class DynamicSystemService extends IDynamicSystemService.Stub implements
|
|||||||
* re-initialized in this case.
|
* re-initialized in this case.
|
||||||
*/
|
*/
|
||||||
binder.linkToDeath(recipient, 0);
|
binder.linkToDeath(recipient, 0);
|
||||||
return IGsiService.Stub.asInterface(binder);
|
|
||||||
|
IGsid gsid = IGsid.Stub.asInterface(binder);
|
||||||
|
return gsid.getClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** implements DeathRecipient */
|
/** implements DeathRecipient */
|
||||||
@@ -159,7 +162,7 @@ public class DynamicSystemService extends IDynamicSystemService.Stub implements
|
|||||||
isInUse = getGsiService().isGsiRunning();
|
isInUse = getGsiService().isGsiRunning();
|
||||||
} finally {
|
} finally {
|
||||||
if (!gsidWasRunning && !isInUse) {
|
if (!gsidWasRunning && !isInUse) {
|
||||||
SystemProperties.set("ctl.stop", "gsid");
|
mGsiService = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user