package com.brady.jlulife.Fragments;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.view.View;
import android.widget.Toast;
import com.brady.jlulife.Activities.AboutActivity;
import com.brady.jlulife.Activities.ContactActivity;
import com.brady.jlulife.R;
import com.brady.jlulife.Utils.Utils;
import com.umeng.update.UmengUpdateAgent;
import com.umeng.update.UmengUpdateListener;
import com.umeng.update.UpdateResponse;
import com.umeng.update.UpdateStatus;
import java.util.Date;
public class SettingFragment extends PreferenceFragment {
private Context mContext;
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
mContext = getActivity().getApplicationContext();
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_general);
Preference myPreference = getPreferenceManager().findPreference("check_update");
ListPreference listPreference = (ListPreference) getPreferenceManager().findPreference("currentweek");
listPreference.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
SharedPreferences preferences = getPreferenceManager().getSharedPreferences();
SharedPreferences.Editor editor = preferences.edit();
editor.putLong("savedtime", Utils.getFirstDayOfWeek(new Date()).getTime());
editor.commit();
return true;
}
});
try {
myPreference.setSummary(getVersionName());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
switch (preference.getKey()){
case "about":{
Intent intent = new Intent(getActivity(), AboutActivity.class);
startActivity(intent);
break;
}case "check_update":{
initUmengUpdate();
break;
}case "contact_us":{
Intent intent = new Intent(getActivity(), ContactActivity.class);
startActivity(intent);
break;
}case "currentweek":{
}
}
return super.onPreferenceTreeClick(preferenceScreen, preference);
}
private String getVersionName() throws Exception
{
// 获取packagemanager的实例
PackageManager packageManager = getActivity().getPackageManager();
// getPackageName()是你当前类的包名,0代表是获取版本信息
PackageInfo packInfo = packageManager.getPackageInfo(getActivity().getPackageName(),0);
String version = packInfo.versionName;
return version;
}
private void initUmengUpdate() {
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) {
switch (updateStatus) {
case UpdateStatus.Yes: // has update
UmengUpdateAgent.showUpdateDialog(mContext, updateInfo);
break;
case UpdateStatus.No: // has no update
Toast.makeText(mContext, "没有更新", Toast.LENGTH_SHORT).show();
break;
case UpdateStatus.NoneWifi: // none wifi
Toast.makeText(mContext, "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT).show();
break;
case UpdateStatus.Timeout: // time out
Toast.makeText(mContext, "超时", Toast.LENGTH_SHORT).show();
break;
}
}
});
}
}