Don't show download toast during SUW

Check to see if setup wizard is running before showing toast to
inform user that a download was started. Note that this will only
affect the device owner; when adding new users later, the toast
will still appear. (The USER_SETUP_COMPLETE flag is hidden from
the SDK, while DEVICE_PROVISIONED remains available.)

Bug: 22594336
Change-Id: I57c42d6f821714b71cbb066e82bba2a1dbab4951
main
Russell Brenner 2015-08-20 13:44:07 -07:00
parent a289e13927
commit f52bae1805
1 changed files with 16 additions and 6 deletions

View File

@ -32,6 +32,7 @@ import android.database.sqlite.SQLiteDatabase;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
@ -956,14 +957,23 @@ public final class UpdateHandler {
WordListMetadata metadata = WordListMetadata.createFromContentValues(installCandidate);
actions.add(new ActionBatch.StartDownloadAction(clientId, metadata));
final String localeString = installCandidate.getAsString(MetadataDbHelper.LOCALE_COLUMN);
// We are in a content provider: we can't do any UI at all. We have to defer the displaying
// itself to the service. Also, we only display this when the user does not have a
// dictionary for this language already.
final Intent intent = new Intent();
intent.setClass(context, DictionaryService.class);
intent.setAction(DictionaryService.SHOW_DOWNLOAD_TOAST_INTENT_ACTION);
intent.putExtra(DictionaryService.LOCALE_INTENT_ARGUMENT, localeString);
context.startService(intent);
// dictionary for this language already. During setup wizard, however, this UI is
// suppressed.
final boolean deviceProvisioned = Settings.Global.getInt(context.getContentResolver(),
Settings.Global.DEVICE_PROVISIONED, 0) != 0;
if (deviceProvisioned) {
final Intent intent = new Intent();
intent.setClass(context, DictionaryService.class);
intent.setAction(DictionaryService.SHOW_DOWNLOAD_TOAST_INTENT_ACTION);
intent.putExtra(DictionaryService.LOCALE_INTENT_ARGUMENT, localeString);
context.startService(intent);
} else {
Log.i(TAG, "installIfNeverRequested() : Don't show download toast");
}
Log.i(TAG, "installIfNeverRequested() : StartDownloadAction for " + metadata);
actions.execute(context, new LogProblemReporter(TAG));
}