Merge "Prevent dream service finishSelf before it was attached" into rvc-dev am: 2240431010 am: 47a6d4e235 am: a49fdb706e
Change-Id: I65a179e298746e71395e33613ce67cb68c7f3e39
This commit is contained in:
@@ -904,15 +904,21 @@ public class DreamService extends Service implements Window.Callback {
|
|||||||
if (!mActivity.isFinishing()) {
|
if (!mActivity.isFinishing()) {
|
||||||
// In case the activity is not finished yet, do it now.
|
// In case the activity is not finished yet, do it now.
|
||||||
mActivity.finishAndRemoveTask();
|
mActivity.finishAndRemoveTask();
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (!mWindowless) {
|
|
||||||
Slog.w(TAG, "Finish was called before the dream was attached.");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!mFinished) {
|
if (mFinished) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
mFinished = true;
|
mFinished = true;
|
||||||
|
|
||||||
|
if (mDreamToken == null) {
|
||||||
|
Slog.w(TAG, "Finish was called before the dream was attached.");
|
||||||
|
stopSelf();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// finishSelf will unbind the dream controller from the dream service. This will
|
// finishSelf will unbind the dream controller from the dream service. This will
|
||||||
// trigger DreamService.this.onDestroy and DreamService.this will die.
|
// trigger DreamService.this.onDestroy and DreamService.this will die.
|
||||||
@@ -921,7 +927,6 @@ public class DreamService extends Service implements Window.Callback {
|
|||||||
// system server died
|
// system server died
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wakes the dream up gently.
|
* Wakes the dream up gently.
|
||||||
|
|||||||
Reference in New Issue
Block a user