Updater: Fix 'REBOOT' button not showing up after A/B update

* After update is complete button is being handled in
  handleNotActiveStatus instead of handleActiveStatus.

Change-Id: I6a4df580f93b71fd12e902801125acae668ec991
This commit is contained in:
LuK1337
2018-07-24 11:22:14 +02:00
parent 412810e0b7
commit e46f532c8c

View File

@@ -161,11 +161,6 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
setButtonAction(viewHolder.mAction, Action.INSTALL, downloadId, false); setButtonAction(viewHolder.mAction, Action.INSTALL, downloadId, false);
viewHolder.mProgressText.setText(R.string.list_verifying_update); viewHolder.mProgressText.setText(R.string.list_verifying_update);
viewHolder.mProgressBar.setIndeterminate(true); viewHolder.mProgressBar.setIndeterminate(true);
} else if (mUpdaterController.isWaitingForReboot(downloadId)) {
setButtonAction(viewHolder.mAction, Action.REBOOT, downloadId, false);
viewHolder.mProgressText.setText(R.string.installing_update_finished);
viewHolder.mProgressBar.setIndeterminate(false);
viewHolder.mProgressBar.setProgress(100);
} else { } else {
canDelete = true; canDelete = true;
setButtonAction(viewHolder.mAction, Action.RESUME, downloadId, !isBusy()); setButtonAction(viewHolder.mAction, Action.RESUME, downloadId, !isBusy());
@@ -188,20 +183,25 @@ public class UpdatesListAdapter extends RecyclerView.Adapter<UpdatesListAdapter.
} }
private void handleNotActiveStatus(ViewHolder viewHolder, UpdateInfo update) { private void handleNotActiveStatus(ViewHolder viewHolder, UpdateInfo update) {
if (update.getPersistentStatus() == UpdateStatus.Persistent.VERIFIED) { final String downloadId = update.getDownloadId();
if (mUpdaterController.isWaitingForReboot(downloadId)) {
viewHolder.itemView.setOnLongClickListener(
getLongClickListener(update, false, viewHolder.mBuildDate));
setButtonAction(viewHolder.mAction, Action.REBOOT, downloadId, true);
} else if (update.getPersistentStatus() == UpdateStatus.Persistent.VERIFIED) {
viewHolder.itemView.setOnLongClickListener( viewHolder.itemView.setOnLongClickListener(
getLongClickListener(update, true, viewHolder.mBuildDate)); getLongClickListener(update, true, viewHolder.mBuildDate));
setButtonAction(viewHolder.mAction, setButtonAction(viewHolder.mAction,
Utils.canInstall(update) ? Action.INSTALL : Action.DELETE, Utils.canInstall(update) ? Action.INSTALL : Action.DELETE,
update.getDownloadId(), !isBusy()); downloadId, !isBusy());
} else if (!Utils.canInstall(update)) { } else if (!Utils.canInstall(update)) {
viewHolder.itemView.setOnLongClickListener( viewHolder.itemView.setOnLongClickListener(
getLongClickListener(update, false, viewHolder.mBuildDate)); getLongClickListener(update, false, viewHolder.mBuildDate));
setButtonAction(viewHolder.mAction, Action.INFO, update.getDownloadId(), !isBusy()); setButtonAction(viewHolder.mAction, Action.INFO, downloadId, !isBusy());
} else { } else {
viewHolder.itemView.setOnLongClickListener( viewHolder.itemView.setOnLongClickListener(
getLongClickListener(update, false, viewHolder.mBuildDate)); getLongClickListener(update, false, viewHolder.mBuildDate));
setButtonAction(viewHolder.mAction, Action.DOWNLOAD, update.getDownloadId(), !isBusy()); setButtonAction(viewHolder.mAction, Action.DOWNLOAD, downloadId, !isBusy());
} }
String fileSize = Formatter.formatShortFileSize(mActivity, update.getFileSize()); String fileSize = Formatter.formatShortFileSize(mActivity, update.getFileSize());
viewHolder.mBuildSize.setText(fileSize); viewHolder.mBuildSize.setText(fileSize);