82 lines
2.5 KiB
Java
82 lines
2.5 KiB
Java
package com.kabouzeid.materialmusic;
|
|
|
|
import android.app.Application;
|
|
import android.content.SharedPreferences;
|
|
import android.content.res.Configuration;
|
|
import android.preference.PreferenceManager;
|
|
|
|
import com.android.volley.Request;
|
|
import com.android.volley.RequestQueue;
|
|
import com.android.volley.toolbox.Volley;
|
|
import com.crashlytics.android.Crashlytics;
|
|
import com.kabouzeid.materialmusic.helper.MusicPlayerRemote;
|
|
import com.kabouzeid.materialmusic.misc.AppKeys;
|
|
import com.kabouzeid.materialmusic.util.ImageLoaderUtil;
|
|
|
|
import io.fabric.sdk.android.Fabric;
|
|
|
|
/**
|
|
* Created by karim on 25.11.14.
|
|
*/
|
|
public class App extends Application {
|
|
private static final String TAG = App.class.getSimpleName();
|
|
|
|
private MusicPlayerRemote playerRemote;
|
|
private int appTheme;
|
|
private SharedPreferences defaultSharedPreferences;
|
|
private RequestQueue requestQueue;
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
Fabric.with(this, new Crashlytics());
|
|
ImageLoaderUtil.initImageLoader(this);
|
|
}
|
|
|
|
public MusicPlayerRemote getMusicPlayerRemote() {
|
|
if (playerRemote == null) {
|
|
playerRemote = new MusicPlayerRemote(this);
|
|
playerRemote.restorePreviousState();
|
|
}
|
|
return playerRemote;
|
|
}
|
|
|
|
public int getAppTheme() {
|
|
if (appTheme == 0) {
|
|
appTheme = getDefaultSharedPreferences().getInt(AppKeys.SP_THEME, R.style.Theme_MaterialMusic);
|
|
}
|
|
return appTheme;
|
|
}
|
|
|
|
public SharedPreferences getDefaultSharedPreferences() {
|
|
if (defaultSharedPreferences == null) {
|
|
defaultSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
|
|
}
|
|
return defaultSharedPreferences;
|
|
}
|
|
|
|
public void setAppTheme(int appTheme) {
|
|
this.appTheme = appTheme;
|
|
defaultSharedPreferences.edit().putInt(AppKeys.SP_THEME, appTheme).apply();
|
|
}
|
|
|
|
public boolean isTablet() {
|
|
return getResources().getConfiguration().smallestScreenWidthDp >= 600;
|
|
}
|
|
|
|
public boolean isInPortraitMode() {
|
|
return getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
|
|
}
|
|
|
|
public void addToVolleyRequestQueue(Request request) {
|
|
request.setTag(TAG);
|
|
getVolleyRequestQueue().add(request);
|
|
}
|
|
|
|
public RequestQueue getVolleyRequestQueue() {
|
|
if (requestQueue == null) {
|
|
requestQueue = Volley.newRequestQueue(this);
|
|
}
|
|
return requestQueue;
|
|
}
|
|
}
|