mirror of
https://codeberg.org/Bazsalanszky/Infinity-For-Lemmy.git
synced 2025-02-06 06:34:46 +01:00
Fix app crashes when changing a wallpaper. Fix Apply Material You option not working.
This commit is contained in:
parent
e3578c59dd
commit
30bce5b798
@ -3,24 +3,14 @@ package ml.docilealligator.infinityforreddit.broadcastreceivers;
|
|||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
|
||||||
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import javax.inject.Named;
|
|
||||||
|
|
||||||
import ml.docilealligator.infinityforreddit.services.MaterialYouService;
|
import ml.docilealligator.infinityforreddit.services.MaterialYouService;
|
||||||
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
|
||||||
|
|
||||||
public class WallpaperChangeReceiver extends BroadcastReceiver {
|
public class WallpaperChangeReceiver extends BroadcastReceiver {
|
||||||
@Inject
|
|
||||||
@Named("default")
|
|
||||||
SharedPreferences mSharedPreferences;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_MATERIAL_YOU, false)) {
|
|
||||||
Intent materialYouIntent = new Intent(context, MaterialYouService.class);
|
Intent materialYouIntent = new Intent(context, MaterialYouService.class);
|
||||||
context.startService(materialYouIntent);
|
context.startService(materialYouIntent);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -14,9 +14,13 @@ import ml.docilealligator.infinityforreddit.Infinity;
|
|||||||
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase;
|
||||||
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
import ml.docilealligator.infinityforreddit.customtheme.CustomThemeWrapper;
|
||||||
import ml.docilealligator.infinityforreddit.utils.MaterialYouUtils;
|
import ml.docilealligator.infinityforreddit.utils.MaterialYouUtils;
|
||||||
|
import ml.docilealligator.infinityforreddit.utils.SharedPreferencesUtils;
|
||||||
|
|
||||||
public class MaterialYouService extends IntentService {
|
public class MaterialYouService extends IntentService {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
@Named("default")
|
||||||
|
SharedPreferences mSharedPreferences;
|
||||||
@Inject
|
@Inject
|
||||||
@Named("light_theme")
|
@Named("light_theme")
|
||||||
SharedPreferences lightThemeSharedPreferences;
|
SharedPreferences lightThemeSharedPreferences;
|
||||||
@ -40,8 +44,10 @@ public class MaterialYouService extends IntentService {
|
|||||||
@Override
|
@Override
|
||||||
protected void onHandleIntent(Intent intent) {
|
protected void onHandleIntent(Intent intent) {
|
||||||
((Infinity) getApplication()).getAppComponent().inject(this);
|
((Infinity) getApplication()).getAppComponent().inject(this);
|
||||||
|
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.ENABLE_MATERIAL_YOU, false)) {
|
||||||
MaterialYouUtils.changeTheme(this, executor, new Handler(), redditDataRoomDatabase,
|
MaterialYouUtils.changeTheme(this, executor, new Handler(), redditDataRoomDatabase,
|
||||||
customThemeWrapper, lightThemeSharedPreferences, darkThemeSharedPreferences,
|
customThemeWrapper, lightThemeSharedPreferences, darkThemeSharedPreferences,
|
||||||
amoledThemeSharedPreferences);
|
amoledThemeSharedPreferences);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -190,15 +190,12 @@ public class ThemePreferenceFragment extends PreferenceFragmentCompat {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
applyMaterialYouPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
|
applyMaterialYouPreference.setOnPreferenceClickListener(preference -> {
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
||||||
MaterialYouUtils.changeTheme(activity, executor, new Handler(),
|
MaterialYouUtils.changeTheme(activity, executor, new Handler(),
|
||||||
redditDataRoomDatabase, customThemeWrapper,
|
redditDataRoomDatabase, customThemeWrapper,
|
||||||
lightThemeSharedPreferences, darkThemeSharedPreferences,
|
lightThemeSharedPreferences, darkThemeSharedPreferences,
|
||||||
amoledThemeSharedPreferences);
|
amoledThemeSharedPreferences);
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user