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
This commit is contained in:
Ajinkya Korde 2019-01-08 01:01:00 +05:30 committed by Vivek Maskara
parent cd322d2f57
commit b05b302e65
9 changed files with 39 additions and 24 deletions

View file

@ -41,6 +41,7 @@ import fr.free.nrw.commons.logging.FileLoggingTree;
import fr.free.nrw.commons.logging.LogUtils; import fr.free.nrw.commons.logging.LogUtils;
import fr.free.nrw.commons.modifications.ModifierSequenceDao; import fr.free.nrw.commons.modifications.ModifierSequenceDao;
import fr.free.nrw.commons.upload.FileUtils; import fr.free.nrw.commons.upload.FileUtils;
import fr.free.nrw.commons.utils.ConfigUtils;
import fr.free.nrw.commons.utils.ContributionUtils; import fr.free.nrw.commons.utils.ContributionUtils;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
@ -61,9 +62,6 @@ public class CommonsApplication extends Application {
@Inject @Named("default_preferences") SharedPreferences defaultPrefs; @Inject @Named("default_preferences") SharedPreferences defaultPrefs;
@Inject @Named("application_preferences") SharedPreferences applicationPrefs; @Inject @Named("application_preferences") SharedPreferences applicationPrefs;
@Inject @Named("prefs") SharedPreferences otherPrefs; @Inject @Named("prefs") SharedPreferences otherPrefs;
@Inject
@Named("isBeta")
boolean isBeta;
/** /**
* Constants begin * Constants begin
@ -139,6 +137,7 @@ public class CommonsApplication extends Application {
* *
*/ */
private void initTimber() { private void initTimber() {
boolean isBeta = ConfigUtils.isBetaFlavour();
String logFileName = isBeta ? "CommonsBetaAppLogs" : "CommonsAppLogs"; String logFileName = isBeta ? "CommonsBetaAppLogs" : "CommonsAppLogs";
String logDirectory = LogUtils.getLogDirectory(isBeta); String logDirectory = LogUtils.getLogDirectory(isBeta);
FileLoggingTree tree = new FileLoggingTree( FileLoggingTree tree = new FileLoggingTree(

View file

@ -15,9 +15,9 @@ import javax.inject.Named;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick; import butterknife.OnClick;
import butterknife.Optional;
import fr.free.nrw.commons.quiz.QuizActivity; import fr.free.nrw.commons.quiz.QuizActivity;
import fr.free.nrw.commons.theme.BaseActivity; import fr.free.nrw.commons.theme.BaseActivity;
import fr.free.nrw.commons.utils.ConfigUtils;
public class WelcomeActivity extends BaseActivity { public class WelcomeActivity extends BaseActivity {
@ -56,7 +56,7 @@ public class WelcomeActivity extends BaseActivity {
} }
// Enable skip button if beta flavor // Enable skip button if beta flavor
if (BuildConfig.FLAVOR == "beta") { if (ConfigUtils.isBetaFlavour()) {
findViewById(R.id.finishTutorialButton).setVisibility(View.VISIBLE); findViewById(R.id.finishTutorialButton).setVisibility(View.VISIBLE);
} }

View file

@ -48,6 +48,7 @@ import fr.free.nrw.commons.di.ApplicationlessInjection;
import fr.free.nrw.commons.mwapi.MediaWikiApi; import fr.free.nrw.commons.mwapi.MediaWikiApi;
import fr.free.nrw.commons.theme.NavigationBaseActivity; import fr.free.nrw.commons.theme.NavigationBaseActivity;
import fr.free.nrw.commons.ui.widget.HtmlTextView; import fr.free.nrw.commons.ui.widget.HtmlTextView;
import fr.free.nrw.commons.utils.ConfigUtils;
import fr.free.nrw.commons.utils.ViewUtil; import fr.free.nrw.commons.utils.ViewUtil;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
@ -139,7 +140,7 @@ public class LoginActivity extends AccountAuthenticatorActivity {
.setNegativeButton(R.string.no, (dialog, which) -> dialog.cancel()) .setNegativeButton(R.string.no, (dialog, which) -> dialog.cancel())
.show()); .show());
if (BuildConfig.FLAVOR.equals("beta")){ if (ConfigUtils.isBetaFlavour()) {
loginCredentials.setText(getString(R.string.login_credential)); loginCredentials.setText(getString(R.string.login_credential));
} else { } else {
loginCredentials.setVisibility(View.GONE); loginCredentials.setVisibility(View.GONE);

View file

@ -30,7 +30,6 @@ import android.view.ViewGroup;
import android.widget.Adapter; import android.widget.Adapter;
import android.widget.AdapterView; import android.widget.AdapterView;
import android.widget.CheckBox; import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Toast; import android.widget.Toast;
import butterknife.BindView; import butterknife.BindView;
@ -45,7 +44,6 @@ import java.util.concurrent.CountDownLatch;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.HandlerService; import fr.free.nrw.commons.HandlerService;
import fr.free.nrw.commons.Media; import fr.free.nrw.commons.Media;
import fr.free.nrw.commons.R; 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.notification.UnreadNotificationsCheckAsync;
import fr.free.nrw.commons.settings.Prefs; import fr.free.nrw.commons.settings.Prefs;
import fr.free.nrw.commons.upload.UploadService; 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.DialogUtil;
import fr.free.nrw.commons.utils.ViewUtil; import fr.free.nrw.commons.utils.ViewUtil;
import io.reactivex.Observable; import io.reactivex.Observable;
@ -71,7 +70,6 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import timber.log.Timber; 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.ContributionDao.Table.ALL_FIELDS;
import static fr.free.nrw.commons.contributions.ContributionsContentProvider.BASE_URI; import static fr.free.nrw.commons.contributions.ContributionsContentProvider.BASE_URI;
import static fr.free.nrw.commons.location.LocationServiceManager.LOCATION_REQUEST; import static fr.free.nrw.commons.location.LocationServiceManager.LOCATION_REQUEST;
@ -182,7 +180,7 @@ public class ContributionsFragment
setContributionsListFragment(); setContributionsListFragment();
} }
if(!BuildConfig.FLAVOR.equalsIgnoreCase("beta")){ if (!ConfigUtils.isBetaFlavour()) {
setUploadCount(); setUploadCount();
} }

View file

@ -29,13 +29,12 @@ import javax.inject.Named;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.R; import fr.free.nrw.commons.R;
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment; import fr.free.nrw.commons.di.CommonsDaggerSupportFragment;
import fr.free.nrw.commons.utils.ConfigUtils;
import timber.log.Timber; import timber.log.Timber;
import static android.app.Activity.RESULT_OK; 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.*;
import static android.view.View.GONE; import static android.view.View.GONE;
import static fr.free.nrw.commons.contributions.ContributionController.SELECT_FROM_GALLERY; 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) { public void setAdapter(ListAdapter adapter) {
this.contributionsList.setAdapter(adapter); this.contributionsList.setAdapter(adapter);
if(BuildConfig.FLAVOR.equalsIgnoreCase("beta")){ if (ConfigUtils.isBetaFlavour()) {
//TODO: add betaSetUploadCount method //TODO: add betaSetUploadCount method
((ContributionsFragment) getParentFragment()).betaSetUploadCount(adapter.getCount()); ((ContributionsFragment) getParentFragment()).betaSetUploadCount(adapter.getCount());
} }

View file

@ -28,6 +28,7 @@ import fr.free.nrw.commons.mwapi.MediaWikiApi;
import fr.free.nrw.commons.nearby.NearbyPlaces; import fr.free.nrw.commons.nearby.NearbyPlaces;
import fr.free.nrw.commons.settings.Prefs; import fr.free.nrw.commons.settings.Prefs;
import fr.free.nrw.commons.upload.UploadController; 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.WikidataEditListener;
import fr.free.nrw.commons.wikidata.WikidataEditListenerImpl; import fr.free.nrw.commons.wikidata.WikidataEditListenerImpl;
@ -220,6 +221,6 @@ public class CommonsApplicationModule {
@Provides @Provides
@Singleton @Singleton
public boolean provideIsBetaVariant() { public boolean provideIsBetaVariant() {
return BuildConfig.FLAVOR.equals("beta"); return ConfigUtils.isBetaFlavour();
} }
} }

View file

@ -3,11 +3,11 @@ package fr.free.nrw.commons.logging;
import android.content.Context; import android.content.Context;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton; import javax.inject.Singleton;
import fr.free.nrw.commons.BuildConfig; import fr.free.nrw.commons.BuildConfig;
import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.utils.ConfigUtils;
import fr.free.nrw.commons.utils.DeviceInfoUtil; import fr.free.nrw.commons.utils.DeviceInfoUtil;
/** /**
@ -24,12 +24,12 @@ public class CommonsLogSender extends LogsSender {
@Inject @Inject
public CommonsLogSender(SessionManager sessionManager, public CommonsLogSender(SessionManager sessionManager,
Context context, Context context) {
@Named("isBeta") boolean isBeta) { super(sessionManager);
super(sessionManager, isBeta);
this.sessionManager = sessionManager; this.sessionManager = sessionManager;
this.context = context; this.context = context;
boolean isBeta = ConfigUtils.isBetaFlavour();
this.logFileName = isBeta ? "CommonsBetaAppLogs.zip" : "CommonsAppLogs.zip"; this.logFileName = isBeta ? "CommonsBetaAppLogs.zip" : "CommonsAppLogs.zip";
String emailSubjectFormat = isBeta ? BETA_LOGS_PRIVATE_EMAIL_SUBJECT : LOGS_PRIVATE_EMAIL_SUBJECT; String emailSubjectFormat = isBeta ? BETA_LOGS_PRIVATE_EMAIL_SUBJECT : LOGS_PRIVATE_EMAIL_SUBJECT;
this.emailSubject = String.format(emailSubjectFormat, sessionManager.getUserName()); this.emailSubject = String.format(emailSubjectFormat, sessionManager.getUserName());

View file

@ -20,6 +20,7 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;
import fr.free.nrw.commons.auth.SessionManager; import fr.free.nrw.commons.auth.SessionManager;
import fr.free.nrw.commons.utils.ConfigUtils;
import timber.log.Timber; import timber.log.Timber;
/** /**
@ -33,16 +34,14 @@ public abstract class LogsSender implements ReportSender {
String emailBody; String emailBody;
private final SessionManager sessionManager; private final SessionManager sessionManager;
private final boolean isBeta;
LogsSender(SessionManager sessionManager, LogsSender(SessionManager sessionManager) {
boolean isBeta) {
this.sessionManager = sessionManager; this.sessionManager = sessionManager;
this.isBeta = isBeta;
} }
/** /**
* Overrides send method of ACRA's ReportSender to send logs * Overrides send method of ACRA's ReportSender to send logs
*
* @param context * @param context
* @param report * @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 * Gets zipped log files and sends it via email. Can be modified to change the send log mechanism
*
* @param context * @param context
* @param report * @param report
*/ */
@ -73,6 +73,7 @@ public abstract class LogsSender implements ReportSender {
/** /**
* Fires an intent to send email with logs * Fires an intent to send email with logs
*
* @param context * @param context
* @param logFileUri * @param logFileUri
*/ */
@ -91,6 +92,7 @@ public abstract class LogsSender implements ReportSender {
/** /**
* Returns the URI for the zipped log file * Returns the URI for the zipped log file
*
* @param context * @param context
* @param report * @param report
* @return * @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 * Checks if there are any pending crash reports and attaches them to the logs
*
* @param report * @param report
* @param builder * @param builder
*/ */
@ -127,6 +130,7 @@ public abstract class LogsSender implements ReportSender {
/** /**
* Attaches username to the the meta_data file * Attaches username to the the meta_data file
*
* @param builder * @param builder
*/ */
private void attachUserInfo(StringBuilder 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 * Gets any extra meta information to be attached with the log files
*
* @param builder * @param builder
*/ */
private void attachExtraInfo(StringBuilder builder) { private void attachExtraInfo(StringBuilder builder) {
@ -145,6 +150,7 @@ public abstract class LogsSender implements ReportSender {
/** /**
* Zips the logs and meta information * Zips the logs and meta information
*
* @param metaData * @param metaData
* @param zipFile * @param zipFile
* @throws IOException * @throws IOException
@ -153,6 +159,7 @@ public abstract class LogsSender implements ReportSender {
FileOutputStream fos = new FileOutputStream(zipFile); FileOutputStream fos = new FileOutputStream(zipFile);
BufferedOutputStream bos = new BufferedOutputStream(fos); BufferedOutputStream bos = new BufferedOutputStream(fos);
ZipOutputStream zos = new ZipOutputStream(bos); ZipOutputStream zos = new ZipOutputStream(bos);
boolean isBeta = ConfigUtils.isBetaFlavour();
File logDir = new File(LogUtils.getLogDirectory(isBeta)); File logDir = new File(LogUtils.getLogDirectory(isBeta));
if (!logDir.exists() || logDir.listFiles().length == 0) { if (!logDir.exists() || logDir.listFiles().length == 0) {

View file

@ -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");
}
}