Ensure that activities and content providers are integrated into DI.

This commit is contained in:
Paul Hawke 2017-08-25 09:55:25 -05:00 committed by Paul Hawke
parent 8fe2816ca9
commit 7880a08c30
5 changed files with 90 additions and 100 deletions

View file

@ -276,7 +276,4 @@ public class Utils {
return value == null || value.trim().isEmpty();
}
public static boolean isDarkTheme(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean("theme",false);
}
}

View file

@ -16,16 +16,25 @@ import fr.free.nrw.commons.upload.ShareActivity;
public abstract class ActivityBuilderModule {
@ContributesAndroidInjector
abstract ContributionsActivity bindContributionsActivity();
abstract LoginActivity bindLoginActivity();
@ContributesAndroidInjector
abstract MultipleShareActivity bindMultipleShareActivity();
abstract WelcomeActivity bindWelcomeActivity();
@ContributesAndroidInjector
abstract ShareActivity bindShareActivity();
@ContributesAndroidInjector
abstract LoginActivity bindLoginActivity();
abstract MultipleShareActivity bindMultipleShareActivity();
@ContributesAndroidInjector
abstract ContributionsActivity bindContributionsActivity();
@ContributesAndroidInjector
abstract SettingsActivity bindSettingsActivity();
@ContributesAndroidInjector
abstract AboutActivity bindAboutActivity();
@ContributesAndroidInjector
abstract SignupActivity bindSignupActivity();
@ -33,13 +42,4 @@ public abstract class ActivityBuilderModule {
@ContributesAndroidInjector
abstract NearbyActivity bindNearbyActivity();
@ContributesAndroidInjector
abstract AboutActivity bindAboutActivity();
@ContributesAndroidInjector
abstract SettingsActivity bindSettingsActivity();
@ContributesAndroidInjector
abstract WelcomeActivity bindWelcomeActivity();
}

View file

@ -12,13 +12,13 @@ import fr.free.nrw.commons.modifications.ModificationsContentProvider;
@Module
public abstract class ContentProviderBuilderModule {
@ContributesAndroidInjector
abstract CategoryContentProvider bindCategoryContentProvider();
@ContributesAndroidInjector
abstract ContributionsContentProvider bindContributionsContentProvider();
@ContributesAndroidInjector
abstract ModificationsContentProvider bindModificationsContentProvider();
@ContributesAndroidInjector
abstract CategoryContentProvider bindCategoryContentProvider();
}

View file

@ -3,19 +3,17 @@ package fr.free.nrw.commons.theme;
import android.content.Intent;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import dagger.android.AndroidInjection;
import dagger.android.DaggerActivity;
import fr.free.nrw.commons.R;
import fr.free.nrw.commons.Utils;
public class BaseActivity extends AppCompatActivity {
public class BaseActivity extends DaggerActivity {
boolean currentTheme;
@Override
protected void onCreate(Bundle savedInstanceState) {
AndroidInjection.inject(this);
if(Utils.isDarkTheme(this)){
boolean currentThemeIsDark = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme", false);
if (currentThemeIsDark) {
currentTheme = true;
setTheme(R.style.DarkAppTheme);
} else {
@ -28,8 +26,8 @@ public class BaseActivity extends AppCompatActivity {
@Override
protected void onResume() {
// Restart activity if theme is changed
boolean newTheme = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme",false);
if(currentTheme!=newTheme){ //is activity theme changed
boolean newTheme = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme", false);
if (currentTheme != newTheme) { //is activity theme changed
Intent intent = getIntent();
finish();
startActivity(intent);