|
|
@@ -35,204 +35,197 @@ import java.io.File;
|
|
|
* 设置
|
|
|
*/
|
|
|
public class SettingActivity extends ActionBackActivity implements View.OnClickListener {
|
|
|
- private Button mExitBtn;
|
|
|
- private TextView mCacheTv;
|
|
|
+ private Button mExitBtn;
|
|
|
+ private TextView mCacheTv;
|
|
|
@ViewInject(R.id.uas_website_tv)
|
|
|
- private TextView uas_website_tv;
|
|
|
- private String IS_CLICKED="CLICKED";
|
|
|
- private CheckBox close_push_rb;
|
|
|
- @Override
|
|
|
- protected void onCreate(Bundle savedInstanceState) {
|
|
|
- super.onCreate(savedInstanceState);
|
|
|
- setContentView(R.layout.activity_setting);
|
|
|
- ViewUtils.inject(this);
|
|
|
- getSupportActionBar().setTitle(R.string.setting);
|
|
|
- initView();
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void initView() {
|
|
|
- mExitBtn = (Button) findViewById(R.id.exit_btn);
|
|
|
- close_push_rb= (CheckBox) findViewById(R.id.close_push_rb);
|
|
|
- if (PreferenceUtils.getBoolean(MyApplication.getInstance(),IS_CLICKED)){
|
|
|
- close_push_rb.setChecked(true);
|
|
|
- }else{
|
|
|
- close_push_rb.setChecked(PreferenceUtils.getBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH));
|
|
|
- }
|
|
|
- close_push_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
|
|
- @Override
|
|
|
- public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
|
|
- if (!PreferenceUtils.getBoolean(MyApplication.getInstance(),IS_CLICKED)){
|
|
|
- PreferenceUtils.putBoolean(MyApplication.getInstance(),IS_CLICKED,true);
|
|
|
- }
|
|
|
- Intent intent=new Intent();
|
|
|
- if(b){
|
|
|
- Log.i("gongpengming","打开推送");
|
|
|
- PreferenceUtils.putBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH,true);
|
|
|
- intent.putExtra(MainActivity.BAIDU_PUSH_RECEIVER,true);
|
|
|
- intent.setAction(MainActivity.BAIDU_PUSH_RECEIVER);
|
|
|
- SettingActivity.this.sendBroadcast(intent);
|
|
|
-
|
|
|
- }else{
|
|
|
- PreferenceUtils.putBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH,false);
|
|
|
- intent.putExtra(MainActivity.BAIDU_PUSH_RECEIVER,false);
|
|
|
- intent.setAction(MainActivity.BAIDU_PUSH_RECEIVER);
|
|
|
- SettingActivity.this.sendBroadcast(intent);
|
|
|
- Log.i("gongpengming","关闭推送");
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- mExitBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- showExitDialog();
|
|
|
- }
|
|
|
- });
|
|
|
- mCacheTv = (TextView) findViewById(R.id.cache_tv);
|
|
|
- findViewById(R.id.clear_cache_rl).setOnClickListener(this);
|
|
|
- findViewById(R.id.use_help_rl).setOnClickListener(this);
|
|
|
- findViewById(R.id.about_us_rl).setOnClickListener(this);
|
|
|
-
|
|
|
- long cacheSize = GetFileSizeUtil.getFileSize(new File(MyApplication.getInstance().mAppDir));
|
|
|
- mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
|
|
|
-
|
|
|
- uas_website_tv.setText(CommonUtil.getSharedPreferences(this,"erp_baseurl"));
|
|
|
- }
|
|
|
-
|
|
|
- private void showExitDialog() {
|
|
|
- new AlertDialog.Builder(mContext).setTitle(R.string.app_name).setMessage(R.string.exit_tips).setNegativeButton(R.string.cancel, null)
|
|
|
- .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
|
|
|
- @Override
|
|
|
- public void onClick(DialogInterface dialog, int which) {
|
|
|
- UserSp.getInstance(mContext).clearUserInfo();
|
|
|
- LoginHelper.broadcastLogout(mContext);
|
|
|
- }
|
|
|
- }).create().show();
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onClick(View v) {
|
|
|
- switch (v.getId()) {
|
|
|
- case R.id.clear_cache_rl:
|
|
|
- clearCache();
|
|
|
- break;
|
|
|
- case R.id.use_help_rl: {// 使用帮助
|
|
|
- Intent intent = new Intent(mContext, WebViewActivity.class);
|
|
|
- intent.putExtra(WebViewActivity.EXTRA_URL, mConfig.help_url);
|
|
|
- intent.putExtra(WebViewActivity.EXTRA_TITLE, getString(R.string.use_help));
|
|
|
- startActivity(intent);
|
|
|
- }
|
|
|
- break;
|
|
|
- case R.id.about_us_rl:// 关于我们
|
|
|
- startActivity(new Intent(mContext, AboutActivity.class));
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- private void clearCache() {
|
|
|
- String filePath = MyApplication.getInstance().mAppDir;
|
|
|
- new ClearCacheAsyncTaska(filePath).execute(true);
|
|
|
- }
|
|
|
-
|
|
|
- private class ClearCacheAsyncTaska extends AsyncTask<Boolean, String, Integer> {
|
|
|
-
|
|
|
- private File rootFile;
|
|
|
- private ProgressDialog progressDialog;
|
|
|
-
|
|
|
- private int filesNumber = 0;
|
|
|
- private boolean canceled = false;
|
|
|
-
|
|
|
- public ClearCacheAsyncTaska(String filePath) {
|
|
|
- this.rootFile = new File(filePath);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- protected void onPreExecute() {
|
|
|
- filesNumber = GetFileSizeUtil.getFolderSubFilesNumber(rootFile);
|
|
|
-
|
|
|
- progressDialog = new ProgressDialog(mContext);
|
|
|
- progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
|
|
|
- progressDialog.setIndeterminate(false);
|
|
|
- progressDialog.setCancelable(false);
|
|
|
- progressDialog.setMessage(getString(R.string.deleteing));
|
|
|
- progressDialog.setMax(filesNumber);
|
|
|
- progressDialog.setProgress(0);
|
|
|
- // 设置取消按钮
|
|
|
- progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() {
|
|
|
- public void onClick(DialogInterface dialog, int i) {
|
|
|
- canceled = true;
|
|
|
- }
|
|
|
- });
|
|
|
- progressDialog.show();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 返回true代表删除完成,false表示取消了删除
|
|
|
- */
|
|
|
- @Override
|
|
|
- protected Integer doInBackground(Boolean... params) {
|
|
|
- if (filesNumber == 0) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- boolean deleteSubFolder = params[0];// 是否删除已清空的子文件夹
|
|
|
- return deleteFolder(rootFile, true, deleteSubFolder, 0);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- protected void onProgressUpdate(String... values) {
|
|
|
- super.onProgressUpdate(values);
|
|
|
- // String filePath = values[0];
|
|
|
- int progress = Integer.parseInt(values[1]);
|
|
|
- // progressDialog.setMessage(filePath);
|
|
|
- progressDialog.setProgress(progress);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- protected void onPostExecute(Integer result) {
|
|
|
- super.onPostExecute(result);
|
|
|
- progressDialog.dismiss();
|
|
|
- if (!canceled && result == filesNumber) {
|
|
|
- ToastUtil.showToast(mContext, R.string.clear_completed);
|
|
|
- }
|
|
|
- long cacheSize = GetFileSizeUtil.getFileSize(rootFile);
|
|
|
- mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
|
|
|
- }
|
|
|
-
|
|
|
- private long notifyTime = 0;
|
|
|
-
|
|
|
- /**
|
|
|
- * 是否删除完毕
|
|
|
- * @param file
|
|
|
- * @param deleteSubFolder
|
|
|
- * @return
|
|
|
- */
|
|
|
- private int deleteFolder(File file, boolean rootFolder, boolean deleteSubFolder, int progress) {
|
|
|
- if (file == null || !file.exists() || !file.isDirectory()) {
|
|
|
- return 0;
|
|
|
- }
|
|
|
- File flist[] = file.listFiles();
|
|
|
- for (File subFile : flist) {
|
|
|
- if (canceled) {
|
|
|
- return progress;
|
|
|
- }
|
|
|
- if (subFile.isFile()) {
|
|
|
- subFile.delete();
|
|
|
- progress++;
|
|
|
- long current = System.currentTimeMillis();
|
|
|
- if (current - notifyTime > 200) {// 200毫秒更新一次界面
|
|
|
- notifyTime = current;
|
|
|
- publishProgress(subFile.getAbsolutePath(), String.valueOf(progress));
|
|
|
- }
|
|
|
- } else {
|
|
|
- progress = deleteFolder(subFile, false, deleteSubFolder, progress);
|
|
|
- if (deleteSubFolder) {
|
|
|
- subFile.delete();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return progress;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ private TextView uas_website_tv;
|
|
|
+ private CheckBox close_push_rb;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_setting);
|
|
|
+ ViewUtils.inject(this);
|
|
|
+ getSupportActionBar().setTitle(R.string.setting);
|
|
|
+ initView();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initView() {
|
|
|
+ mExitBtn = (Button) findViewById(R.id.exit_btn);
|
|
|
+ close_push_rb = (CheckBox) findViewById(R.id.close_push_rb);
|
|
|
+
|
|
|
+ int isPush = PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH);
|
|
|
+ if (isPush == -1) {//第一次进入没有配置
|
|
|
+ close_push_rb.setChecked(true);
|
|
|
+ } else if (isPush == 0) {//选择不推送
|
|
|
+ close_push_rb.setChecked(false);
|
|
|
+ } else { //选择推送
|
|
|
+ close_push_rb.setChecked(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ close_push_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
|
|
+ @Override
|
|
|
+ public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
|
|
|
+ if (b) {
|
|
|
+ PreferenceUtils.putInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH, 1);
|
|
|
+ PushManager.resumeWork(MyApplication.getInstance());
|
|
|
+ PushManager.bind(MyApplication.getInstance(), 1);
|
|
|
+ close_push_rb.setChecked(true);
|
|
|
+ } else {
|
|
|
+ PushManager.stopWork(MyApplication.getInstance());
|
|
|
+ PushManager.unbind(MyApplication.getInstance());
|
|
|
+ PreferenceUtils.putInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH, 0);
|
|
|
+ close_push_rb.setChecked(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ mExitBtn.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ showExitDialog();
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ mCacheTv = (TextView) findViewById(R.id.cache_tv);
|
|
|
+ findViewById(R.id.clear_cache_rl).setOnClickListener(this);
|
|
|
+ findViewById(R.id.use_help_rl).setOnClickListener(this);
|
|
|
+ findViewById(R.id.about_us_rl).setOnClickListener(this);
|
|
|
+ long cacheSize = GetFileSizeUtil.getFileSize(new File(MyApplication.getInstance().mAppDir));
|
|
|
+ mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
|
|
|
+ uas_website_tv.setText(CommonUtil.getSharedPreferences(this, "erp_baseurl"));
|
|
|
+ }
|
|
|
+
|
|
|
+ private void showExitDialog() {
|
|
|
+ new AlertDialog.Builder(mContext).setTitle(R.string.app_name).setMessage(R.string.exit_tips).setNegativeButton(R.string.cancel, null)
|
|
|
+ .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(DialogInterface dialog, int which) {
|
|
|
+ UserSp.getInstance(mContext).clearUserInfo();
|
|
|
+ LoginHelper.broadcastLogout(mContext);
|
|
|
+ }
|
|
|
+ }).create().show();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ switch (v.getId()) {
|
|
|
+ case R.id.clear_cache_rl:
|
|
|
+ clearCache();
|
|
|
+ break;
|
|
|
+ case R.id.use_help_rl: { // 使用帮助
|
|
|
+ Intent intent = new Intent(mContext, WebViewActivity.class);
|
|
|
+ intent.putExtra(WebViewActivity.EXTRA_URL, mConfig.help_url);
|
|
|
+ intent.putExtra(WebViewActivity.EXTRA_TITLE, getString(R.string.use_help));
|
|
|
+ startActivity(intent);
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case R.id.about_us_rl:// 关于我们
|
|
|
+ startActivity(new Intent(mContext, AboutActivity.class));
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void clearCache() {
|
|
|
+ String filePath = MyApplication.getInstance().mAppDir;
|
|
|
+ new ClearCacheAsyncTaska(filePath).execute(true);
|
|
|
+ }
|
|
|
+
|
|
|
+ private class ClearCacheAsyncTaska extends AsyncTask<Boolean, String, Integer> {
|
|
|
+ private File rootFile;
|
|
|
+ private ProgressDialog progressDialog;
|
|
|
+ private int filesNumber = 0;
|
|
|
+ private boolean canceled = false;
|
|
|
+
|
|
|
+ public ClearCacheAsyncTaska(String filePath) {
|
|
|
+ this.rootFile = new File(filePath);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onPreExecute() {
|
|
|
+ filesNumber = GetFileSizeUtil.getFolderSubFilesNumber(rootFile);
|
|
|
+ progressDialog = new ProgressDialog(mContext);
|
|
|
+ progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
|
|
|
+ progressDialog.setIndeterminate(false);
|
|
|
+ progressDialog.setCancelable(false);
|
|
|
+ progressDialog.setMessage(getString(R.string.deleteing));
|
|
|
+ progressDialog.setMax(filesNumber);
|
|
|
+ progressDialog.setProgress(0);
|
|
|
+ // 设置取消按钮
|
|
|
+ progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() {
|
|
|
+ public void onClick(DialogInterface dialog, int i) {
|
|
|
+ canceled = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ progressDialog.show();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回true代表删除完成,false表示取消了删除
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ protected Integer doInBackground(Boolean... params) {
|
|
|
+ if (filesNumber == 0) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ boolean deleteSubFolder = params[0];// 是否删除已清空的子文件夹
|
|
|
+ return deleteFolder(rootFile, true, deleteSubFolder, 0);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onProgressUpdate(String... values) {
|
|
|
+ super.onProgressUpdate(values);
|
|
|
+ // String filePath = values[0];
|
|
|
+ int progress = Integer.parseInt(values[1]);
|
|
|
+ // progressDialog.setMessage(filePath);
|
|
|
+ progressDialog.setProgress(progress);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onPostExecute(Integer result) {
|
|
|
+ super.onPostExecute(result);
|
|
|
+ progressDialog.dismiss();
|
|
|
+ if (!canceled && result == filesNumber) {
|
|
|
+ ToastUtil.showToast(mContext, R.string.clear_completed);
|
|
|
+ }
|
|
|
+ long cacheSize = GetFileSizeUtil.getFileSize(rootFile);
|
|
|
+ mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
|
|
|
+ }
|
|
|
+
|
|
|
+ private long notifyTime = 0;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 是否删除完毕
|
|
|
+ *
|
|
|
+ * @param file
|
|
|
+ * @param deleteSubFolder
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private int deleteFolder(File file, boolean rootFolder, boolean deleteSubFolder, int progress) {
|
|
|
+ if (file == null || !file.exists() || !file.isDirectory()) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ File flist[] = file.listFiles();
|
|
|
+ for (File subFile : flist) {
|
|
|
+ if (canceled) {
|
|
|
+ return progress;
|
|
|
+ }
|
|
|
+ if (subFile.isFile()) {
|
|
|
+ subFile.delete();
|
|
|
+ progress++;
|
|
|
+ long current = System.currentTimeMillis();
|
|
|
+ if (current - notifyTime > 200) {// 200毫秒更新一次界面
|
|
|
+ notifyTime = current;
|
|
|
+ publishProgress(subFile.getAbsolutePath(), String.valueOf(progress));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ progress = deleteFolder(subFile, false, deleteSubFolder, progress);
|
|
|
+ if (deleteSubFolder) {
|
|
|
+ subFile.delete();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return progress;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|