package com.youzi.zhidu.activity; import java.io.File; import java.util.List; import android.annotation.TargetApi; import android.app.ActionBar; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Environment; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.text.ClipboardManager; import android.util.Log; import android.view.KeyEvent; import android.view.MenuItem; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; import com.google.gson.JsonObject; import com.koushikdutta.async.future.FutureCallback; import com.koushikdutta.ion.Ion; import com.youzi.zhidu.Conf; import com.youzi.zhidu.R; import com.youzi.zhidu.adapter.SettingAdapter; import com.youzi.zhidu.barcolor.SystemBarTintManager; import com.youzi.zhidu.cache.ACache; import com.youzi.zhidu.dialog.SweetAlertDialog; import com.youzi.zhidu.lib.NetWorkUtil; import com.youzi.zhidu.lib.toast.Crouton; import com.youzi.zhidu.lib.toast.Style; import com.youzi.zhidu.service.AppUpdateService; public class SettingActivity extends Activity implements OnPreferenceChangeListener{ ListView lv; SettingAdapter adapter; String[] items = { "�������", "������","�͸�����","QQȺ��271436525", "�������", "ע����¼" }; int vc;// ��ȡ��ǰ�汾�� File sdcardDir; String path; File f; File[] fl; ACache mCache; private boolean isExit = true;// trueΪ��¼״̬ private CountDownTimer timer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.activity_setting); // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { // setTranslucentStatus(true); // } // // SystemBarTintManager tintManager = new SystemBarTintManager(this); // tintManager.setStatusBarTintEnabled(true); // tintManager.setStatusBarTintResource(R.color.actionbar_color); mCache = ACache.get(this); vc = getVersionCode(this); ActionBar ab = getActionBar(); ab.setDisplayHomeAsUpEnabled(true); ab.setHomeButtonEnabled(true); ab.setTitle("����"); lv = (ListView) findViewById(R.id.lv); adapter = new SettingAdapter(items, this); lv.setAdapter(adapter); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Intent it = new Intent(); switch (arg2) { case 0: it.setClass(getApplicationContext(), FeedBackActivity.class); startActivity(it); break; case 1: chekedVersionCode(); break; case 2: Intent i = getIntent(SettingActivity.this,"com.youzi.zhidu"); boolean b = judge(SettingActivity.this, i); if (b == false) { startActivity(i); } break; case 3: ClipboardManager clip = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); clip.setText("271436525"); // ���� showCustomToast(getString(R.string.back_exit_qq), R.id.ll_setting_id); break; case 4: sdcardDir = Environment.getExternalStorageDirectory(); path = sdcardDir.getPath() + "/zhidu"; f = new File(path); fl = f.listFiles(); Log.e("fl.length==", fl.length + ""); if (fl.length == 0) { showCustomToast(getString(R.string.back_exit_no), R.id.ll_setting_id); } else { new SweetAlertDialog(SettingActivity.this, SweetAlertDialog.CUSTOM_IMAGE_TYPE) .setTitleText("�������") .setContentText("�Ƿ�������棿") .setCancelText("�ݲ����") .setConfirmText("�������") .showCancelButton(true) .setCancelClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { sDialog.dismiss(); } }) .setConfirmClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { // for (int i = 0; i < fl.length; i++) { if (fl[i].toString() .endsWith(".mp3") || fl[i].toString() .endsWith( ".MP3")||fl[i].toString() .endsWith(".jpg")||fl[i].toString() .endsWith(".JPG")) { fl[i].delete(); } } showCustomToast(getString(R.string.back_exit_success), R.id.ll_setting_id); sDialog.dismiss(); } }).show(); } break; case 5: new SweetAlertDialog(SettingActivity.this, SweetAlertDialog.CUSTOM_IMAGE_TYPE) .setTitleText("ע����¼") .setContentText("�Ƿ�ע����¼��") .setCancelText("�ݲ�ע��") .setConfirmText("ע����¼") .showCancelButton(true) .setCancelClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { sDialog.dismiss(); } }) .setConfirmClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { mCache.clear(); isExit = false; sDialog.dismiss(); } }).show(); break; case 6: break; default: break; } } }); } @TargetApi(19) private void setTranslucentStatus(boolean on) { Window win = getWindow(); WindowManager.LayoutParams winParams = win.getAttributes(); final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; if (on) { winParams.flags |= bits; } else { winParams.flags &= ~bits; } win.setAttributes(winParams); } /** * ��ʾShortToast */ public void showCustomToast(String pMsg, int view_position) { // ToastUtil.createCustomToast(this, pMsg, Toast.LENGTH_SHORT).show(); Crouton.makeText(this, pMsg, Style.CONFIRM, view_position).show(); // Crouton.makeText(this, pMsg, Style.ALERT, view_position).show(); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { if (isExit == false) { // ������ʹ��Intent���� Intent intent = new Intent(); // �ѷ������ݴ���Intent intent.putExtra("result", "exit"); // ���÷������� SettingActivity.this.setResult(RESULT_OK, intent); // �ر�Activity SettingActivity.this.finish(); // overridePendingTransition(R.anim.zoomin, R.anim.zoomout); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); } else { // ������ʹ��Intent���� Intent intent = new Intent(); // �ѷ������ݴ���Intent intent.putExtra("date", "�û�û���˳�---��¼״̬"); // ���÷������� SettingActivity.this.setResult(RESULT_OK, intent); // �ر�Activity SettingActivity.this.finish(); // overridePendingTransition(R.anim.zoomin, R.anim.zoomout); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); } // finish(); return true; } return super.onOptionsItemSelected(item); } /** * ��ȡ�汾�� * * @param context * @return */ private int getVersionCode(Context context) { int versionCode = 0; try { // ��ȡ����汾�� versionCode = context.getPackageManager().getPackageInfo( "com.youzi.zhidu", 1).versionCode; } catch (NameNotFoundException e) { e.printStackTrace(); } return versionCode; } public void chekedVersionCode() { if (!NetWorkUtil.networkCanUse(this)) { new SweetAlertDialog(this, SweetAlertDialog.ERROR_TYPE) .setTitleText("��������ʧ��...").setContentText("�����������������Ƿ�����") .show(); return; } Ion.with(this, Conf.VERSION_CODE).asJsonObject() .setCallback(new FutureCallback<JsonObject>() { @Override public void onCompleted(Exception e, JsonObject result) { if (e != null) { return; } String code = result.get("code").getAsString(); int jsonCode = Integer.parseInt(code); // �ȽϿ�Դ�й����ص�code����ǰ�汾code�Ƿ�һ�� if (jsonCode == vc) { Log.e("11111", "�汾����ͬ��������" + "jsonCode:" + jsonCode); new SweetAlertDialog(SettingActivity.this, SweetAlertDialog.SUCCESS_TYPE) .setTitleText("��ǰ�汾��������") .setContentText("Version:" + getAppInfo()) .show(); } else if (jsonCode > vc) { new SweetAlertDialog(SettingActivity.this, SweetAlertDialog.WARNING_TYPE) .setTitleText("�汾���") .setContentText("�����°汾���Ƿ���£�") .setCancelText("�ݲ�����") .setConfirmText("���ϸ���") .showCancelButton(true) .setCancelClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { sDialog.dismiss(); } }) .setConfirmClickListener( new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick( SweetAlertDialog sDialog) { Intent updateIntent = new Intent( SettingActivity.this, AppUpdateService.class); updateIntent.putExtra( "titleId", R.string.app_name); startService(updateIntent); sDialog.dismiss(); } }).show(); } } }); } private String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPackageInfo( pkName, 0).versionName; return versionName; } catch (Exception e) { } return null; } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { // ���/����/���η��ؼ� if (isExit == false) { // ������ʹ��Intent���� Intent intent = new Intent(); // �ѷ������ݴ���Intent intent.putExtra("result", "exit"); // ���÷������� SettingActivity.this.setResult(RESULT_OK, intent); // �ر�Activity SettingActivity.this.finish(); // overridePendingTransition(R.anim.zoomin, R.anim.zoomout); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); } else { // ������ʹ��Intent���� Intent intent = new Intent(); // �ѷ������ݴ���Intent intent.putExtra("date", "�û�û���˳�---��¼״̬"); // ���÷������� SettingActivity.this.setResult(RESULT_OK, intent); // �ر�Activity SettingActivity.this.finish(); // overridePendingTransition(R.anim.zoomin, R.anim.zoomout); overridePendingTransition(R.anim.push_left_in, R.anim.push_left_out); } return true; } return super.onKeyDown(keyCode, event); } public static Intent getIntent(Context paramContext,String packageName) { StringBuilder localStringBuilder = new StringBuilder() .append("market://details?id="); String str = /* paramContext.getPackageName(); */packageName; localStringBuilder.append(str); Uri localUri = Uri.parse(localStringBuilder.toString()); return new Intent("android.intent.action.VIEW", localUri); } // ֱ����ת���ж��Ƿ�����г�Ӧ�� public static void start(Context paramContext, String paramString) { Uri localUri = Uri.parse(paramString); Intent localIntent = new Intent("android.intent.action.VIEW", localUri); localIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); paramContext.startActivity(localIntent); } public static boolean judge(Context paramContext, Intent paramIntent) { List<ResolveInfo> localList = paramContext.getPackageManager() .queryIntentActivities(paramIntent, PackageManager.GET_INTENT_FILTERS); if ((localList != null) && (localList.size() > 0)) { return false; } else { return true; } } @Override public boolean onPreferenceChange(Preference preference, Object newValue) { if (Boolean.parseBoolean(newValue.toString())) { } return true; } }