Fixes to native app ops services
Bug: 8181262
Change-Id: I3d3f20453f6c6f2756c988363c5b5453ef309cb6
diff --git a/libs/binder/AppOpsManager.cpp b/libs/binder/AppOpsManager.cpp
index 5d36dd2..7ac1b11 100644
--- a/libs/binder/AppOpsManager.cpp
+++ b/libs/binder/AppOpsManager.cpp
@@ -32,23 +32,21 @@
int64_t startTime = 0;
mLock.lock();
sp<IAppOpsService> service = mService;
- while (true) {
- if (service == NULL || !service->asBinder()->isBinderAlive()) {
- sp<IBinder> binder = defaultServiceManager()->checkService(_appops);
- if (binder == NULL) {
- // Wait for the app ops service to come back...
- if (startTime == 0) {
- startTime = uptimeMillis();
- ALOGI("Waiting for app ops service");
- } else if ((uptimeMillis()-startTime) > 10000) {
- ALOGW("Waiting too long for app ops service, giving up");
- return NULL;
- }
- sleep(1);
- } else {
- service = interface_cast<IAppOpsService>(binder);
- mService = service;
+ while (service == NULL || !service->asBinder()->isBinderAlive()) {
+ sp<IBinder> binder = defaultServiceManager()->checkService(_appops);
+ if (binder == NULL) {
+ // Wait for the app ops service to come back...
+ if (startTime == 0) {
+ startTime = uptimeMillis();
+ ALOGI("Waiting for app ops service");
+ } else if ((uptimeMillis()-startTime) > 10000) {
+ ALOGW("Waiting too long for app ops service, giving up");
+ return NULL;
}
+ sleep(1);
+ } else {
+ service = interface_cast<IAppOpsService>(binder);
+ mService = service;
}
}
mLock.unlock();