Skip to content

Commit 7458035

Browse files
committed
Issues #273 #275 background update check issues
1 parent 993e834 commit 7458035

File tree

5 files changed

+36
-22
lines changed

5 files changed

+36
-22
lines changed

app/src/main/java/com/github/yeriomin/yalpstore/BackgroundUpdatableAppsTask.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212

1313
class BackgroundUpdatableAppsTask extends UpdatableAppsTask {
1414

15+
private boolean forceUpdate = false;
16+
17+
public void setForceUpdate(boolean forceUpdate) {
18+
this.forceUpdate = forceUpdate;
19+
}
20+
1521
@Override
1622
protected void onPostExecute(Throwable e) {
1723
super.onPostExecute(e);
@@ -31,7 +37,7 @@ protected void onPostExecute(Throwable e) {
3137
}
3238

3339
private boolean canUpdate() {
34-
return explicitCheck ||
40+
return forceUpdate ||
3541
(PreferenceActivity.getBoolean(context, PreferenceActivity.PREFERENCE_BACKGROUND_UPDATE_DOWNLOAD)
3642
&& (DownloadManagerFactory.get(context) instanceof DownloadManagerAdapter
3743
|| !PreferenceActivity.getBoolean(context, PreferenceActivity.PREFERENCE_BACKGROUND_UPDATE_WIFI_ONLY)

app/src/main/java/com/github/yeriomin/yalpstore/ForegroundUpdatableAppsTask.java

+17
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,22 @@
55

66
import com.github.yeriomin.yalpstore.model.App;
77

8+
import java.io.IOException;
89
import java.util.ArrayList;
10+
import java.util.Collection;
911
import java.util.Collections;
1012
import java.util.List;
1113

1214
class ForegroundUpdatableAppsTask extends UpdatableAppsTask {
1315

16+
static private List<App> appsFromPlayStore = new ArrayList<>();
17+
1418
private UpdatableAppsActivity activity;
19+
protected boolean explicitCheck;
20+
21+
public void setExplicitCheck(boolean explicitCheck) {
22+
this.explicitCheck = explicitCheck;
23+
}
1524

1625
public ForegroundUpdatableAppsTask(UpdatableAppsActivity activity) {
1726
this.activity = activity;
@@ -80,6 +89,14 @@ protected void onProgressUpdate(Void... values) {
8089
button.setText(R.string.details_download_checking);
8190
}
8291

92+
@Override
93+
protected List<App> getAppsFromPlayStore(Collection<String> packageNames) throws IOException {
94+
if (explicitCheck) {
95+
appsFromPlayStore = super.getAppsFromPlayStore(packageNames);
96+
}
97+
return appsFromPlayStore;
98+
}
99+
83100
private App getSelf() {
84101
if (installedApps.containsKey(BuildConfig.APPLICATION_ID)) {
85102
return installedApps.get(BuildConfig.APPLICATION_ID);

app/src/main/java/com/github/yeriomin/yalpstore/UpdatableAppsActivity.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ protected void onResume() {
4848
checkUpdates.setOnClickListener(new View.OnClickListener() {
4949
@Override
5050
public void onClick(View v) {
51-
UpdatableAppsTask task = getTask();
52-
UpdatableAppsTask clone = getTask();
51+
ForegroundUpdatableAppsTask task = getTask();
52+
ForegroundUpdatableAppsTask clone = getTask();
5353
task.setExplicitCheck(true);
5454
clone.setExplicitCheck(true);
5555
task.setTaskClone(clone);
@@ -98,8 +98,8 @@ protected ListItem getListItem(App app) {
9898
return appBadge;
9999
}
100100

101-
private UpdatableAppsTask getTask() {
102-
UpdatableAppsTask task = new ForegroundUpdatableAppsTask(this);
101+
private ForegroundUpdatableAppsTask getTask() {
102+
ForegroundUpdatableAppsTask task = new ForegroundUpdatableAppsTask(this);
103103
task.setExplicitCheck(PreferenceActivity.getUpdateInterval(this) != -1);
104104
task.setErrorView((TextView) getListView().getEmptyView());
105105
task.setContext(this);

app/src/main/java/com/github/yeriomin/yalpstore/UpdatableAppsTask.java

+6-15
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,8 @@
2121

2222
public class UpdatableAppsTask extends GoogleApiAsyncTask {
2323

24-
static private List<App> appsFromPlayStore = new ArrayList<>();
25-
2624
protected List<App> updatableApps = new ArrayList<>();
2725
protected Map<String, App> installedApps = new HashMap<>();
28-
protected boolean explicitCheck;
2926

3027
static public Map<String, App> getInstalledApps(Context context) {
3128
Map<String, App> apps = new HashMap<>();
@@ -75,10 +72,6 @@ static public Map<String, App> filterBlacklistedApps(Context context, Map<String
7572
return result;
7673
}
7774

78-
public void setExplicitCheck(boolean explicitCheck) {
79-
this.explicitCheck = explicitCheck;
80-
}
81-
8275
@Override
8376
protected Throwable doInBackground(String... params) {
8477
// Building local apps list
@@ -137,14 +130,12 @@ private App addInstalledAppInfo(App appFromMarket, App installedApp) {
137130
return appFromMarket;
138131
}
139132

140-
private List<App> getAppsFromPlayStore(Collection<String> packageNames) throws IOException {
141-
if (explicitCheck) {
142-
appsFromPlayStore.clear();
143-
boolean builtInAccount = PreferenceActivity.getBoolean(context, PreferenceActivity.PREFERENCE_APP_PROVIDED_EMAIL);
144-
for (App app: new PlayStoreApiWrapper(context).getDetails(new ArrayList<>(packageNames))) {
145-
if (!builtInAccount || app.isFree()) {
146-
appsFromPlayStore.add(app);
147-
}
133+
protected List<App> getAppsFromPlayStore(Collection<String> packageNames) throws IOException {
134+
List<App> appsFromPlayStore = new ArrayList<>();
135+
boolean builtInAccount = PreferenceActivity.getBoolean(context, PreferenceActivity.PREFERENCE_APP_PROVIDED_EMAIL);
136+
for (App app: new PlayStoreApiWrapper(context).getDetails(new ArrayList<>(packageNames))) {
137+
if (!builtInAccount || app.isFree()) {
138+
appsFromPlayStore.add(app);
148139
}
149140
}
150141
return appsFromPlayStore;

app/src/main/java/com/github/yeriomin/yalpstore/UpdateChecker.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ static public void enable(Context context, int interval) {
2929
@Override
3030
public void onReceive(Context context, Intent intent) {
3131
Log.i(getClass().getName(), "Started");
32-
UpdatableAppsTask task = new BackgroundUpdatableAppsTask();
33-
task.setExplicitCheck(context instanceof Activity);
32+
BackgroundUpdatableAppsTask task = new BackgroundUpdatableAppsTask();
33+
task.setForceUpdate(context instanceof Activity);
3434
task.setContext(context);
3535
task.execute();
3636
}

0 commit comments

Comments
 (0)