From 554c294a395c9bff600be6c7b2e69f106dcc925d Mon Sep 17 00:00:00 2001 From: Gabriele M Date: Wed, 19 Jul 2017 21:11:46 +0200 Subject: [PATCH] Define abstract class for the activity containing the updates list While at it, rename showSnackBar() to showSnackbar() since normally the 'B' is lowercase. --- .../lineageos/updater/UpdatesActivity.java | 22 +++---- .../updater/UpdatesListActivity.java | 22 +++++++ .../lineageos/updater/UpdatesListAdapter.java | 65 +++++++++---------- 3 files changed, 61 insertions(+), 48 deletions(-) create mode 100644 src/org/lineageos/updater/UpdatesListActivity.java diff --git a/src/org/lineageos/updater/UpdatesActivity.java b/src/org/lineageos/updater/UpdatesActivity.java index d633b56..699eaa2 100644 --- a/src/org/lineageos/updater/UpdatesActivity.java +++ b/src/org/lineageos/updater/UpdatesActivity.java @@ -32,7 +32,6 @@ import android.support.design.widget.AppBarLayout; import android.support.design.widget.CollapsingToolbarLayout; import android.support.design.widget.Snackbar; import android.support.v4.content.LocalBroadcastManager; -import android.support.v7.app.AppCompatActivity; import android.support.v7.preference.PreferenceManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; @@ -41,7 +40,6 @@ import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.Menu; import android.view.MenuItem; -import android.view.View; import android.widget.TextView; import org.json.JSONException; @@ -64,7 +62,7 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -public class UpdatesActivity extends AppCompatActivity { +public class UpdatesActivity extends UpdatesListActivity { private static final String TAG = "UpdatesActivity"; private UpdaterService mUpdaterService; @@ -78,8 +76,7 @@ public class UpdatesActivity extends AppCompatActivity { setContentView(R.layout.activity_updates); RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recycler_view); - View containerView = findViewById(R.id.main_container); - mAdapter = new UpdatesListAdapter(this, containerView); + mAdapter = new UpdatesListAdapter(this); recyclerView.setAdapter(mAdapter); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(layoutManager); @@ -254,7 +251,7 @@ public class UpdatesActivity extends AppCompatActivity { controller.setUpdatesAvailableOnline(updatesOnline, true); if (manualRefresh) { - showSnackBar( + showSnackbar( newUpdates ? R.string.snack_updates_found : R.string.snack_no_updates_found, Snackbar.LENGTH_SHORT); } @@ -309,7 +306,7 @@ public class UpdatesActivity extends AppCompatActivity { public void run() { progressDialog.dismiss(); if (!cancelled) { - showSnackBar(R.string.snack_updates_check_failed, Snackbar.LENGTH_LONG); + showSnackbar(R.string.snack_updates_check_failed, Snackbar.LENGTH_LONG); } } }); @@ -337,7 +334,7 @@ public class UpdatesActivity extends AppCompatActivity { updateLastCheckedString(); } catch (IOException | JSONException e) { Log.e(TAG, "Could not read json", e); - showSnackBar(R.string.snack_updates_check_failed, Snackbar.LENGTH_LONG); + showSnackbar(R.string.snack_updates_check_failed, Snackbar.LENGTH_LONG); } progressDialog.dismiss(); } @@ -377,18 +374,19 @@ public class UpdatesActivity extends AppCompatActivity { UpdateDownload update = mUpdaterService.getUpdaterController().getUpdate(downloadId); switch (update.getStatus()) { case PAUSED_ERROR: - showSnackBar(R.string.snack_download_failed, Snackbar.LENGTH_LONG); + showSnackbar(R.string.snack_download_failed, Snackbar.LENGTH_LONG); break; case VERIFICATION_FAILED: - showSnackBar(R.string.snack_download_verification_failed, Snackbar.LENGTH_LONG); + showSnackbar(R.string.snack_download_verification_failed, Snackbar.LENGTH_LONG); break; case VERIFIED: - showSnackBar(R.string.snack_download_verified, Snackbar.LENGTH_LONG); + showSnackbar(R.string.snack_download_verified, Snackbar.LENGTH_LONG); break; } } - private void showSnackBar(int stringId, int duration) { + @Override + public void showSnackbar(int stringId, int duration) { Snackbar.make(findViewById(R.id.main_container), stringId, duration).show(); } } diff --git a/src/org/lineageos/updater/UpdatesListActivity.java b/src/org/lineageos/updater/UpdatesListActivity.java new file mode 100644 index 0000000..9b53ecc --- /dev/null +++ b/src/org/lineageos/updater/UpdatesListActivity.java @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2017 The LineageOS Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.lineageos.updater; + +import android.support.v7.app.AppCompatActivity; + +public abstract class UpdatesListActivity extends AppCompatActivity { + public abstract void showSnackbar(int stringId, int duration); +} diff --git a/src/org/lineageos/updater/UpdatesListAdapter.java b/src/org/lineageos/updater/UpdatesListAdapter.java index 1fe1622..017d075 100644 --- a/src/org/lineageos/updater/UpdatesListAdapter.java +++ b/src/org/lineageos/updater/UpdatesListAdapter.java @@ -15,7 +15,6 @@ */ package org.lineageos.updater; -import android.content.Context; import android.content.DialogInterface; import android.support.design.widget.Snackbar; import android.support.v7.app.AlertDialog; @@ -50,8 +49,7 @@ public class UpdatesListAdapter extends RecyclerView.Adapter mDownloadIds; private Controller mUpdaterController; - private Context mContext; - private View mContainerView; + private UpdatesListActivity mActivity; private enum Action { DOWNLOAD, @@ -89,12 +87,11 @@ public class UpdatesListAdapter extends RecyclerView.Adapter 0) { - CharSequence etaString = StringGenerator.formatDuration(mContext, eta * 1000); - viewHolder.mProgressText.setText(mContext.getString( + CharSequence etaString = StringGenerator.formatDuration(mActivity, eta * 1000); + viewHolder.mProgressText.setText(mActivity.getString( R.string.list_download_progress_eta, downloaded, total, etaString)); } else { - viewHolder.mProgressText.setText(mContext.getString( + viewHolder.mProgressText.setText(mActivity.getString( R.string.list_download_progress, downloaded, total)); } setButtonAction(viewHolder.mAction, Action.PAUSE, downloadId, true); @@ -154,10 +151,10 @@ public class UpdatesListAdapter extends RecyclerView.Adapter