package com.quran.labs.androidquran.ui.fragment;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import com.quran.labs.androidquran.QuranAdvancedPreferenceActivity;
import com.quran.labs.androidquran.QuranApplication;
import com.quran.labs.androidquran.QuranPreferenceActivity;
import com.quran.labs.androidquran.R;
import com.quran.labs.androidquran.data.Constants;
import com.quran.labs.androidquran.model.bookmark.BookmarkImportExportModel;
import com.quran.labs.androidquran.ui.AudioManagerActivity;
import com.quran.labs.androidquran.ui.TranslationManagerActivity;
import com.quran.labs.androidquran.util.QuranScreenInfo;
import javax.inject.Inject;
public class QuranSettingsFragment extends PreferenceFragment implements
SharedPreferences.OnSharedPreferenceChangeListener {
@Inject BookmarkImportExportModel bookmarkImportExportModel;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.quran_preferences);
final Context context = getActivity();
Context mAppContext = context.getApplicationContext();
// field injection
((QuranApplication) mAppContext).getApplicationComponent().inject(this);
// handle translation manager click
final Preference translationPref = findPreference(Constants.PREF_TRANSLATION_MANAGER);
translationPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivity(new Intent(getActivity(), TranslationManagerActivity.class));
return true;
}
});
// handle audio manager click
final Preference audioManagerPref = findPreference(Constants.PREF_AUDIO_MANAGER);
audioManagerPref.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivity(new Intent(getActivity(), AudioManagerActivity.class));
return true;
}
});
}
@Override
public void onResume() {
super.onResume();
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}
@Override
public void onPause() {
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
super.onPause();
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equals(Constants.PREF_USE_ARABIC_NAMES)) {
final Context context = getActivity();
if (context instanceof QuranPreferenceActivity) {
((QuranPreferenceActivity) context).restartActivity();
}
}
}
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
final String key = preference.getKey();
if ("key_prefs_advanced".equals(key)) {
Intent intent = new Intent(getActivity(), QuranAdvancedPreferenceActivity.class);
startActivity(intent);
return true;
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
}