From f89b2ea408feeab4e1c47c9fc01130837af233aa Mon Sep 17 00:00:00 2001 From: Sergey Eremin Date: Fri, 17 Nov 2017 15:40:28 +0300 Subject: [PATCH] Donwload button added to long-press menu on the updates page --- .../yeriomin/yalpstore/AppListActivity.java | 33 ++++++++++++------- .../yalpstore/EndlessScrollActivity.java | 28 ---------------- 2 files changed, 22 insertions(+), 39 deletions(-) diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/AppListActivity.java b/app/src/main/java/com/github/yeriomin/yalpstore/AppListActivity.java index 4052ce633..50a677786 100644 --- a/app/src/main/java/com/github/yeriomin/yalpstore/AppListActivity.java +++ b/app/src/main/java/com/github/yeriomin/yalpstore/AppListActivity.java @@ -1,12 +1,14 @@ package com.github.yeriomin.yalpstore; import android.os.Bundle; +import android.util.Log; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; +import com.github.yeriomin.yalpstore.fragment.details.ButtonDownload; import com.github.yeriomin.yalpstore.fragment.details.ButtonUninstall; import com.github.yeriomin.yalpstore.fragment.details.DownloadOptions; import com.github.yeriomin.yalpstore.model.App; @@ -45,27 +47,36 @@ abstract public class AppListActivity extends YalpStoreActivity { public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; DetailsActivity.app = getAppByListPosition(info.position); - DownloadOptions menuManager = new DownloadOptions(this, DetailsActivity.app); - menuManager.inflate(menu); - if (DetailsActivity.app.isInstalled()) { - menu.findItem(R.id.action_uninstall).setVisible(true); - } + new DownloadOptions(this, DetailsActivity.app).inflate(menu); + menu.findItem(R.id.action_download).setVisible(new ButtonDownload(this, DetailsActivity.app).shouldBeVisible()); + menu.findItem(R.id.action_uninstall).setVisible(DetailsActivity.app.isInstalled()); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); DetailsActivity.app = getAppByListPosition(info.position); - if (item.getItemId() == R.id.action_uninstall) { - ButtonUninstall buttonUninstall = new ButtonUninstall(this, DetailsActivity.app); - buttonUninstall.uninstall(); - } else { - DownloadOptions menuManager = new DownloadOptions(this, DetailsActivity.app); - menuManager.onContextItemSelected(item); + switch (item.getItemId()) { + case R.id.action_download: + new ButtonDownload(this, DetailsActivity.app).checkAndDownload(); + break; + case R.id.action_uninstall: + new ButtonUninstall(this, DetailsActivity.app).uninstall(); + break; + default: + return new DownloadOptions(this, DetailsActivity.app).onContextItemSelected(item); } return true; } + @Override + public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { + if (isGranted(requestCode, permissions, grantResults)) { + Log.i(getClass().getName(), "User granted the write permission"); + new ButtonDownload(this, DetailsActivity.app).download(); + } + } + @Override public void onContentChanged() { super.onContentChanged(); diff --git a/app/src/main/java/com/github/yeriomin/yalpstore/EndlessScrollActivity.java b/app/src/main/java/com/github/yeriomin/yalpstore/EndlessScrollActivity.java index eb613c8d5..cc240144e 100644 --- a/app/src/main/java/com/github/yeriomin/yalpstore/EndlessScrollActivity.java +++ b/app/src/main/java/com/github/yeriomin/yalpstore/EndlessScrollActivity.java @@ -71,34 +71,6 @@ abstract public class EndlessScrollActivity extends AppListActivity { iterator = null; } - @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, v, menuInfo); - AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; - DetailsActivity.app = getAppByListPosition(info.position); - menu.findItem(R.id.action_download).setVisible(new ButtonDownload(this, DetailsActivity.app).shouldBeVisible()); - } - - @Override - public boolean onContextItemSelected(MenuItem item) { - if (item.getItemId() == R.id.action_download) { - AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); - App app = getAppByListPosition(info.position); - new ButtonDownload(this, app).checkAndDownload(); - return true; - } else { - return super.onContextItemSelected(item); - } - } - - @Override - public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { - if (isGranted(requestCode, permissions, grantResults)) { - Log.i(getClass().getName(), "User granted the write permission"); - new ButtonDownload(this, DetailsActivity.app).download(); - } - } - protected EndlessScrollTask prepareTask(EndlessScrollTask task) { task.setContext(this); task.setErrorView((TextView) getListView().getEmptyView());