package hello.dcsms.omzen.Panel;
import hello.dcsms.omzen.R;
import hello.dcsms.omzen.S;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class SettingFragment extends PreferenceFragment implements
SharedPreferences.OnSharedPreferenceChangeListener {
private int mSettFrag = -1;
private SharedPreferences prefs;
public void gantiSub(String subtitle) {
getActivity().getActionBar().setSubtitle(subtitle);
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (savedInstanceState != null) {
mSettFrag = savedInstanceState.getInt("mSettingFrag");
}
addPreferencesFromResource(R.xml.pref);
prefs = getActivity().getSharedPreferences(S.PKGNAME + "_preferences",
getActivity().MODE_WORLD_READABLE);
prefs.registerOnSharedPreferenceChangeListener(this);
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
super.onSaveInstanceState(outState);
outState.putInt("mSettingFrag", mSettFrag);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences pref,
final String key) {
Activity ac = getActivity();
if(ac==null)
return;
final ProgressDialog d = new ProgressDialog(ac);
d.setTitle("Loading");
d.setMessage("Silahkan tunggu sejenak");
d.setIndeterminate(true);
d.show();
Handler h = new Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
Intent i = null, i2 = null;
if (key.equals("JAM_WARNA") || key.equals("JAM_SIZE")) {
i = new Intent();
i2 = new Intent();
i.setAction(S.UPDATEJAM);
i2.setAction(S.UPDATE_TRAFFIC);
} else if (key.equals("TRAFFIC")) {
i = new Intent();
i.setAction(S.UPDATE_TRAFFIC);
} else if (key.equals("OMNOTIFIKASI")
|| key.equals("ICON_MERGE_WIDTH")) {
i = new Intent();
i.putExtra("STYLE", prefs.getInt(S.STATBAR_LAYOUT_STYLE, 0));
i.setAction(S.ATURLAYOUT);
} else if (key.equals("SMALL_SINYAL")) {
i = new Intent();
i.setAction("hello.dcsms.omzen.UPDATESINYAL");
} else if (key.equals("WARNA_JAM_NOTIF")
|| key.equals("WARNA_QS_NOTIF")) {
i = new Intent();
i.setAction("hello.dcsms.omzen.UPDATENOTIFTEXT");
}
Intent[] ix = new Intent[] { i, i2 };
for (Intent intent : ix) {
if (intent != null)
getActivity().sendBroadcast(intent);
}
d.dismiss();
}
}, 1000);
Log.i(getActivity().getClass().getCanonicalName(), key);
}
}