From b05b302e65dabb0c39270a6021c9b8091bbe5973 Mon Sep 17 00:00:00 2001 From: Ajinkya Korde Date: Tue, 8 Jan 2019 01:01:00 +0530 Subject: [PATCH] Fix #2215 Added BetaCheckerUtil class and made necessary changes (#2274) * Fix #2215 Added BetaCheckerUtil class and made necessary changes * Fix #2215 Fixed formatting error in LogSender class * Fix #2215 Renamed BetaCheckerUtil to ConfigUtils * Fix #2215 Fixed formatting in CommonsApplicationModule --- .../fr/free/nrw/commons/CommonsApplication.java | 5 ++--- .../fr/free/nrw/commons/WelcomeActivity.java | 4 ++-- .../fr/free/nrw/commons/auth/LoginActivity.java | 3 ++- .../contributions/ContributionsFragment.java | 6 ++---- .../ContributionsListFragment.java | 5 ++--- .../commons/di/CommonsApplicationModule.java | 5 +++-- .../nrw/commons/logging/CommonsLogSender.java | 8 ++++---- .../fr/free/nrw/commons/logging/LogsSender.java | 17 ++++++++++++----- .../fr/free/nrw/commons/utils/ConfigUtils.java | 10 ++++++++++ 9 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/fr/free/nrw/commons/utils/ConfigUtils.java diff --git a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java index 61beb9a6b..e2ef94e5e 100644 --- a/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java +++ b/app/src/main/java/fr/free/nrw/commons/CommonsApplication.java @@ -41,6 +41,7 @@ import fr.free.nrw.commons.logging.FileLoggingTree; import fr.free.nrw.commons.logging.LogUtils; import fr.free.nrw.commons.modifications.ModifierSequenceDao; import fr.free.nrw.commons.upload.FileUtils; +import fr.free.nrw.commons.utils.ConfigUtils; import fr.free.nrw.commons.utils.ContributionUtils; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -61,9 +62,6 @@ public class CommonsApplication extends Application { @Inject @Named("default_preferences") SharedPreferences defaultPrefs; @Inject @Named("application_preferences") SharedPreferences applicationPrefs; @Inject @Named("prefs") SharedPreferences otherPrefs; - @Inject - @Named("isBeta") - boolean isBeta; /** * Constants begin @@ -139,6 +137,7 @@ public class CommonsApplication extends Application { * */ private void initTimber() { + boolean isBeta = ConfigUtils.isBetaFlavour(); String logFileName = isBeta ? "CommonsBetaAppLogs" : "CommonsAppLogs"; String logDirectory = LogUtils.getLogDirectory(isBeta); FileLoggingTree tree = new FileLoggingTree( diff --git a/app/src/main/java/fr/free/nrw/commons/WelcomeActivity.java b/app/src/main/java/fr/free/nrw/commons/WelcomeActivity.java index 21bc8af20..7c131c840 100644 --- a/app/src/main/java/fr/free/nrw/commons/WelcomeActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/WelcomeActivity.java @@ -15,9 +15,9 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import butterknife.Optional; import fr.free.nrw.commons.quiz.QuizActivity; import fr.free.nrw.commons.theme.BaseActivity; +import fr.free.nrw.commons.utils.ConfigUtils; public class WelcomeActivity extends BaseActivity { @@ -56,7 +56,7 @@ public class WelcomeActivity extends BaseActivity { } // Enable skip button if beta flavor - if (BuildConfig.FLAVOR == "beta") { + if (ConfigUtils.isBetaFlavour()) { findViewById(R.id.finishTutorialButton).setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java index d83df17e5..9840ac3eb 100644 --- a/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java +++ b/app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java @@ -48,6 +48,7 @@ import fr.free.nrw.commons.di.ApplicationlessInjection; import fr.free.nrw.commons.mwapi.MediaWikiApi; import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.ui.widget.HtmlTextView; +import fr.free.nrw.commons.utils.ConfigUtils; import fr.free.nrw.commons.utils.ViewUtil; import io.reactivex.Observable; import io.reactivex.android.schedulers.AndroidSchedulers; @@ -139,7 +140,7 @@ public class LoginActivity extends AccountAuthenticatorActivity { .setNegativeButton(R.string.no, (dialog, which) -> dialog.cancel()) .show()); - if (BuildConfig.FLAVOR.equals("beta")){ + if (ConfigUtils.isBetaFlavour()) { loginCredentials.setText(getString(R.string.login_credential)); } else { loginCredentials.setVisibility(View.GONE); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java index 929506d17..8bd3cd7ca 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsFragment.java @@ -30,7 +30,6 @@ import android.view.ViewGroup; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.CheckBox; -import android.widget.CompoundButton; import android.widget.Toast; import butterknife.BindView; @@ -45,7 +44,6 @@ import java.util.concurrent.CountDownLatch; import javax.inject.Inject; import javax.inject.Named; -import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.HandlerService; import fr.free.nrw.commons.Media; import fr.free.nrw.commons.R; @@ -62,6 +60,7 @@ import fr.free.nrw.commons.notification.NotificationController; import fr.free.nrw.commons.notification.UnreadNotificationsCheckAsync; import fr.free.nrw.commons.settings.Prefs; import fr.free.nrw.commons.upload.UploadService; +import fr.free.nrw.commons.utils.ConfigUtils; import fr.free.nrw.commons.utils.DialogUtil; import fr.free.nrw.commons.utils.ViewUtil; import io.reactivex.Observable; @@ -71,7 +70,6 @@ import io.reactivex.disposables.Disposable; import io.reactivex.schedulers.Schedulers; import timber.log.Timber; -import static fr.free.nrw.commons.contributions.Contribution.STATE_FAILED; import static fr.free.nrw.commons.contributions.ContributionDao.Table.ALL_FIELDS; import static fr.free.nrw.commons.contributions.ContributionsContentProvider.BASE_URI; import static fr.free.nrw.commons.location.LocationServiceManager.LOCATION_REQUEST; @@ -182,7 +180,7 @@ public class ContributionsFragment setContributionsListFragment(); } - if(!BuildConfig.FLAVOR.equalsIgnoreCase("beta")){ + if (!ConfigUtils.isBetaFlavour()) { setUploadCount(); } diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java index 7546718db..7f96ee9ee 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsListFragment.java @@ -29,13 +29,12 @@ import javax.inject.Named; import butterknife.BindView; import butterknife.ButterKnife; -import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.R; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; +import fr.free.nrw.commons.utils.ConfigUtils; import timber.log.Timber; import static android.app.Activity.RESULT_OK; -import static android.content.pm.PackageManager.PERMISSION_GRANTED; import static android.view.View.*; import static android.view.View.GONE; import static fr.free.nrw.commons.contributions.ContributionController.SELECT_FROM_GALLERY; @@ -226,7 +225,7 @@ public class ContributionsListFragment extends CommonsDaggerSupportFragment { public void setAdapter(ListAdapter adapter) { this.contributionsList.setAdapter(adapter); - if(BuildConfig.FLAVOR.equalsIgnoreCase("beta")){ + if (ConfigUtils.isBetaFlavour()) { //TODO: add betaSetUploadCount method ((ContributionsFragment) getParentFragment()).betaSetUploadCount(adapter.getCount()); } diff --git a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java index 8c019da5d..9229cfacb 100644 --- a/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java +++ b/app/src/main/java/fr/free/nrw/commons/di/CommonsApplicationModule.java @@ -28,6 +28,7 @@ import fr.free.nrw.commons.mwapi.MediaWikiApi; import fr.free.nrw.commons.nearby.NearbyPlaces; import fr.free.nrw.commons.settings.Prefs; import fr.free.nrw.commons.upload.UploadController; +import fr.free.nrw.commons.utils.ConfigUtils; import fr.free.nrw.commons.wikidata.WikidataEditListener; import fr.free.nrw.commons.wikidata.WikidataEditListenerImpl; @@ -220,6 +221,6 @@ public class CommonsApplicationModule { @Provides @Singleton public boolean provideIsBetaVariant() { - return BuildConfig.FLAVOR.equals("beta"); + return ConfigUtils.isBetaFlavour(); } -} +} \ No newline at end of file diff --git a/app/src/main/java/fr/free/nrw/commons/logging/CommonsLogSender.java b/app/src/main/java/fr/free/nrw/commons/logging/CommonsLogSender.java index 95c9b9097..95c2f7bc4 100644 --- a/app/src/main/java/fr/free/nrw/commons/logging/CommonsLogSender.java +++ b/app/src/main/java/fr/free/nrw/commons/logging/CommonsLogSender.java @@ -3,11 +3,11 @@ package fr.free.nrw.commons.logging; import android.content.Context; import javax.inject.Inject; -import javax.inject.Named; import javax.inject.Singleton; import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.auth.SessionManager; +import fr.free.nrw.commons.utils.ConfigUtils; import fr.free.nrw.commons.utils.DeviceInfoUtil; /** @@ -24,12 +24,12 @@ public class CommonsLogSender extends LogsSender { @Inject public CommonsLogSender(SessionManager sessionManager, - Context context, - @Named("isBeta") boolean isBeta) { - super(sessionManager, isBeta); + Context context) { + super(sessionManager); this.sessionManager = sessionManager; this.context = context; + boolean isBeta = ConfigUtils.isBetaFlavour(); this.logFileName = isBeta ? "CommonsBetaAppLogs.zip" : "CommonsAppLogs.zip"; String emailSubjectFormat = isBeta ? BETA_LOGS_PRIVATE_EMAIL_SUBJECT : LOGS_PRIVATE_EMAIL_SUBJECT; this.emailSubject = String.format(emailSubjectFormat, sessionManager.getUserName()); diff --git a/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java b/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java index 59ddb2523..0d4772243 100644 --- a/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java +++ b/app/src/main/java/fr/free/nrw/commons/logging/LogsSender.java @@ -20,6 +20,7 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; import fr.free.nrw.commons.auth.SessionManager; +import fr.free.nrw.commons.utils.ConfigUtils; import timber.log.Timber; /** @@ -33,16 +34,14 @@ public abstract class LogsSender implements ReportSender { String emailBody; private final SessionManager sessionManager; - private final boolean isBeta; - LogsSender(SessionManager sessionManager, - boolean isBeta) { + LogsSender(SessionManager sessionManager) { this.sessionManager = sessionManager; - this.isBeta = isBeta; } /** * Overrides send method of ACRA's ReportSender to send logs + * * @param context * @param report */ @@ -53,6 +52,7 @@ public abstract class LogsSender implements ReportSender { /** * Gets zipped log files and sends it via email. Can be modified to change the send log mechanism + * * @param context * @param report */ @@ -73,6 +73,7 @@ public abstract class LogsSender implements ReportSender { /** * Fires an intent to send email with logs + * * @param context * @param logFileUri */ @@ -91,6 +92,7 @@ public abstract class LogsSender implements ReportSender { /** * Returns the URI for the zipped log file + * * @param context * @param report * @return @@ -115,6 +117,7 @@ public abstract class LogsSender implements ReportSender { /** * Checks if there are any pending crash reports and attaches them to the logs + * * @param report * @param builder */ @@ -127,6 +130,7 @@ public abstract class LogsSender implements ReportSender { /** * Attaches username to the the meta_data file + * * @param builder */ private void attachUserInfo(StringBuilder builder) { @@ -135,6 +139,7 @@ public abstract class LogsSender implements ReportSender { /** * Gets any extra meta information to be attached with the log files + * * @param builder */ private void attachExtraInfo(StringBuilder builder) { @@ -145,6 +150,7 @@ public abstract class LogsSender implements ReportSender { /** * Zips the logs and meta information + * * @param metaData * @param zipFile * @throws IOException @@ -153,12 +159,13 @@ public abstract class LogsSender implements ReportSender { FileOutputStream fos = new FileOutputStream(zipFile); BufferedOutputStream bos = new BufferedOutputStream(fos); ZipOutputStream zos = new ZipOutputStream(bos); + boolean isBeta = ConfigUtils.isBetaFlavour(); File logDir = new File(LogUtils.getLogDirectory(isBeta)); if (!logDir.exists() || logDir.listFiles().length == 0) { return; } - + byte[] buffer = new byte[1024]; for (File file : logDir.listFiles()) { FileInputStream fis = new FileInputStream(file); diff --git a/app/src/main/java/fr/free/nrw/commons/utils/ConfigUtils.java b/app/src/main/java/fr/free/nrw/commons/utils/ConfigUtils.java new file mode 100644 index 000000000..9d8fad776 --- /dev/null +++ b/app/src/main/java/fr/free/nrw/commons/utils/ConfigUtils.java @@ -0,0 +1,10 @@ +package fr.free.nrw.commons.utils; + +import fr.free.nrw.commons.BuildConfig; + +public class ConfigUtils { + + public static boolean isBetaFlavour() { + return BuildConfig.FLAVOR.equals("beta"); + } +}