Static import of inner class to improve readability
This commit is contained in:
parent
8bececfa58
commit
13e2eddb6a
@ -32,6 +32,7 @@ import com.nostra13.universalimageloader.core.ImageLoader;
|
||||
|
||||
import org.fdroid.fdroid.AppDetails2;
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
||||
import org.fdroid.fdroid.R;
|
||||
import org.fdroid.fdroid.Utils;
|
||||
import org.fdroid.fdroid.data.Apk;
|
||||
@ -57,7 +58,7 @@ import java.util.Iterator;
|
||||
* </ul>
|
||||
*
|
||||
* The state of the UI is defined in a dumb {@link AppListItemState} class, then applied to the UI
|
||||
* in the {@link #refreshView(App, AppUpdateStatusManager.AppUpdateStatus)} method.
|
||||
* in the {@link #refreshView(App, AppUpdateStatus)} method.
|
||||
*/
|
||||
public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
|
||||
@ -102,7 +103,7 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
private App currentApp;
|
||||
|
||||
@Nullable
|
||||
private AppUpdateStatusManager.AppUpdateStatus currentStatus;
|
||||
private AppUpdateStatus currentStatus;
|
||||
|
||||
@TargetApi(21)
|
||||
public AppListItemController(final Activity activity, View itemView) {
|
||||
@ -166,10 +167,10 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
|
||||
// Figures out the current install/update/download/etc status for the app we are viewing.
|
||||
// Then, asks the view to update itself to reflect this status.
|
||||
Iterator<AppUpdateStatusManager.AppUpdateStatus> statuses =
|
||||
Iterator<AppUpdateStatus> statuses =
|
||||
AppUpdateStatusManager.getInstance(activity).getByPackageName(app.packageName).iterator();
|
||||
if (statuses.hasNext()) {
|
||||
AppUpdateStatusManager.AppUpdateStatus status = statuses.next();
|
||||
AppUpdateStatus status = statuses.next();
|
||||
updateAppStatus(app, status);
|
||||
} else {
|
||||
updateAppStatus(app, null);
|
||||
@ -190,23 +191,22 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
* Updates both the progress bar and the circular install button (which shows progress around the outside of
|
||||
* the circle). Also updates the app label to indicate that the app is being downloaded.
|
||||
*/
|
||||
private void updateAppStatus(@NonNull App app, @Nullable AppUpdateStatusManager.AppUpdateStatus status) {
|
||||
private void updateAppStatus(@NonNull App app, @Nullable AppUpdateStatus status) {
|
||||
currentStatus = status;
|
||||
refreshView(app, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Queries the current state via {@link #getCurrentViewState(App, AppUpdateStatusManager.AppUpdateStatus)}
|
||||
* Queries the current state via {@link #getCurrentViewState(App, AppUpdateStatus)}
|
||||
* and then updates the relevant widgets depending on that state.
|
||||
*
|
||||
* Should contain little to no business logic, this all belongs to
|
||||
* {@link #getCurrentViewState(App, AppUpdateStatusManager.AppUpdateStatus)}.
|
||||
* {@link #getCurrentViewState(App, AppUpdateStatus)}.
|
||||
*
|
||||
* @see AppListItemState
|
||||
* @see #getCurrentViewState(App, AppUpdateStatusManager.AppUpdateStatus)
|
||||
* @see #getCurrentViewState(App, AppUpdateStatus)
|
||||
*/
|
||||
private void refreshView(@NonNull App app,
|
||||
@Nullable AppUpdateStatusManager.AppUpdateStatus appStatus) {
|
||||
private void refreshView(@NonNull App app, @Nullable AppUpdateStatus appStatus) {
|
||||
|
||||
AppListItemState viewState = getCurrentViewState(app, appStatus);
|
||||
|
||||
@ -292,8 +292,7 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
}
|
||||
|
||||
@NonNull
|
||||
protected AppListItemState getCurrentViewState(
|
||||
@NonNull App app, @Nullable AppUpdateStatusManager.AppUpdateStatus appStatus) {
|
||||
protected AppListItemState getCurrentViewState(@NonNull App app, @Nullable AppUpdateStatus appStatus) {
|
||||
if (appStatus == null) {
|
||||
return getViewStateDefault(app);
|
||||
} else {
|
||||
@ -328,8 +327,7 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
return state;
|
||||
}
|
||||
|
||||
protected AppListItemState getViewStateDownloading(
|
||||
@NonNull App app, @NonNull AppUpdateStatusManager.AppUpdateStatus currentStatus) {
|
||||
protected AppListItemState getViewStateDownloading(@NonNull App app, @NonNull AppUpdateStatus currentStatus) {
|
||||
CharSequence mainText = activity.getString(
|
||||
R.string.app_list__name__downloading_in_progress, app.name);
|
||||
|
||||
@ -384,8 +382,7 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
||||
private final BroadcastReceiver onStatusChanged = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
AppUpdateStatusManager.AppUpdateStatus newStatus =
|
||||
intent.getParcelableExtra(AppUpdateStatusManager.EXTRA_STATUS);
|
||||
AppUpdateStatus newStatus = intent.getParcelableExtra(AppUpdateStatusManager.EXTRA_STATUS);
|
||||
|
||||
if (currentApp == null
|
||||
|| !TextUtils.equals(newStatus.app.packageName, currentApp.packageName)
|
||||
|
@ -23,6 +23,7 @@ import com.ashokvarma.bottomnavigation.BottomNavigationItem;
|
||||
|
||||
import org.fdroid.fdroid.AppDetails2;
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
||||
import org.fdroid.fdroid.FDroidApp;
|
||||
import org.fdroid.fdroid.NfcHelper;
|
||||
import org.fdroid.fdroid.Preferences;
|
||||
@ -385,8 +386,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
|
||||
}
|
||||
|
||||
// Check if we have moved into the ReadyToInstall or Installed state.
|
||||
AppUpdateStatusManager.AppUpdateStatus status = manager.get(
|
||||
intent.getStringExtra(AppUpdateStatusManager.EXTRA_APK_URL));
|
||||
AppUpdateStatus status = manager.get(intent.getStringExtra(AppUpdateStatusManager.EXTRA_APK_URL));
|
||||
boolean isStatusChange = intent.getBooleanExtra(AppUpdateStatusManager.EXTRA_IS_STATUS_UPDATE, false);
|
||||
if (isStatusChange
|
||||
&& status != null
|
||||
@ -396,7 +396,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
|
||||
|
||||
if (updateBadge) {
|
||||
int count = 0;
|
||||
for (AppUpdateStatusManager.AppUpdateStatus s : manager.getAll()) {
|
||||
for (AppUpdateStatus s : manager.getAll()) {
|
||||
if (s.status == AppUpdateStatusManager.Status.ReadyToInstall) {
|
||||
count++;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ import android.support.annotation.Nullable;
|
||||
import android.view.View;
|
||||
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
||||
import org.fdroid.fdroid.R;
|
||||
import org.fdroid.fdroid.data.App;
|
||||
import org.fdroid.fdroid.views.apps.AppListItemController;
|
||||
@ -24,15 +25,14 @@ public class AppStatusListItemController extends AppListItemController {
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
protected AppListItemState getCurrentViewState(
|
||||
@NonNull App app, @Nullable AppUpdateStatusManager.AppUpdateStatus appStatus) {
|
||||
protected AppListItemState getCurrentViewState(@NonNull App app, @Nullable AppUpdateStatus appStatus) {
|
||||
|
||||
return super.getCurrentViewState(app, appStatus)
|
||||
.setStatusText(getStatusText(appStatus));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private CharSequence getStatusText(@Nullable AppUpdateStatusManager.AppUpdateStatus appStatus) {
|
||||
private CharSequence getStatusText(@Nullable AppUpdateStatus appStatus) {
|
||||
if (appStatus != null) {
|
||||
switch (appStatus.status) {
|
||||
case ReadyToInstall:
|
||||
|
Loading…
x
Reference in New Issue
Block a user