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.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(

View file

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

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.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);

View file

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

View file

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

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.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();
}
}
}

View file

@ -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());

View file

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

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