Просмотр исходного кода

Merge branch 'developer' of https://gitlab.com/Arisono/SkWeiChat-Baidu into developer

FANGLH 9 лет назад
Родитель
Сommit
93fea6c7ee

+ 2 - 2
WeiChat/src/main/AndroidManifest.xml

@@ -125,7 +125,7 @@
         <!-- 启动页面 -->
         <activity
             android:name=".ui.SplashActivity"
-            android:theme="@style/SplashTheme">
+            >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 
@@ -146,7 +146,7 @@
         <activity
             android:name=".ui.account.LoginActivity"
             android:launchMode="singleTask"
-            android:theme="@style/Theme.AppCompat.Light.NoActionBar"
+           
             android:windowSoftInputMode="adjustPan" />
         <activity android:name=".ui.account.LoginHistoryActivity" />
         <activity android:name=".ui.account.DataDownloadActivity" />

+ 5 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -61,6 +61,7 @@ import com.xzjmyk.pm.activity.ui.me.MeFragment;
 import com.xzjmyk.pm.activity.ui.me.ScreenListener;
 import com.xzjmyk.pm.activity.ui.message.MessageFragment;
 import com.xzjmyk.pm.activity.util.Constants;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.util.PreferenceUtils;
 import com.xzjmyk.pm.activity.view.DivideRadioGroup;
 import com.xzjmyk.pm.activity.volley.ArrayResult;
@@ -435,6 +436,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        LogUtil.d("OnCreate start:" + DateFormatUtil.getDateTimeStr());
         getSupportActionBar().setDisplayShowHomeEnabled(false);
         getSupportActionBar().setDisplayHomeAsUpEnabled(false);
         setContentView(R.layout.activity_main);
@@ -528,6 +530,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         LogUtil.i(ids);
 
         doHiTask();
+        LogUtil.d("OnCreate end:" + DateFormatUtil.getDateTimeStr());
     }
 
     private void doHiTask() {
@@ -655,7 +658,6 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         ViewUtil.httpSendRequest(this, url, param, mUserCheckHander, headers, LOG_SEND_REQUEST, null, null, "post");
-        Log.i("fang","111");
     }
 
     @Override
@@ -801,6 +803,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
     @Override
     protected void onResume() {
         super.onResume();
+        LogUtil.d("onResume start:" + DateFormatUtil.getDateTimeStr());
         if (!AppConfig.COMPANY) return;
         isPause = false;
         if (mMsgNumNeedUpdate) {
@@ -815,6 +818,7 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
         } else {
             main_tab_three_tv.setVisibility(View.VISIBLE);
         }
+        LogUtil.d("onResume end:" + DateFormatUtil.getDateTimeStr());
     }
 
     @Override

+ 2 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/SplashActivity.java

@@ -53,6 +53,7 @@ public class SplashActivity extends BaseActivity {
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_splash);
+        getSupportActionBar().hide();
         mStartTimeMs = System.currentTimeMillis();
         mSelectLv = (RelativeLayout) findViewById(R.id.select_lv);
         mSelectLv.setVisibility(View.INVISIBLE);
@@ -101,7 +102,7 @@ public class SplashActivity extends BaseActivity {
     private void ready() {
         long currentTimeMs = System.currentTimeMillis();
         int useTime = (int) (currentTimeMs - mStartTimeMs);
-        int delayTime = useTime > 2000 ? 0 : 2000 - useTime;
+        int delayTime = useTime > 20 ? 0 : 20 - useTime;
         //两秒内请求不对进入
         new Handler().postDelayed(new Runnable() {
             @Override

+ 1 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginActivity.java

@@ -58,6 +58,7 @@ public class LoginActivity extends BaseActivity implements View.OnClickListener
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_login);
+        getSupportActionBar().hide();
         initView();
     }
 

+ 32 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java

@@ -3,7 +3,10 @@ package com.xzjmyk.pm.activity.ui.base;
 import android.app.Activity;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
+import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.os.Bundle;
+import android.util.DisplayMetrics;
 import android.util.TypedValue;
 import android.view.View;
 import android.view.ViewGroup;
@@ -14,6 +17,7 @@ import com.android.volley.Request;
 import com.android.volley.RetryPolicy;
 import com.umeng.analytics.MobclickAgent;
 import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.util.Constants;
@@ -22,6 +26,7 @@ import com.xzjmyk.pm.activity.view.crouton.Crouton;
 import com.xzjmyk.pm.activity.volley.FastVolley;
 
 import java.lang.reflect.Field;
+import java.util.Locale;
 
 /**
  * 带网络请求的Activity继承
@@ -83,7 +88,9 @@ public abstract class BaseActivity extends ActionBackActivity {
         setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖屏
         progressDialog = CustomProgressDialog.createDialog(this);
 
-
+        //重启之后恢复到之前的语言
+        switchLanguage(PreferenceUtils.getString(this,"language",getString(R.string.language_rCN)));
+        
         // SystemUtil.setSystemBarTint(this);
 
     }
@@ -184,4 +191,28 @@ public abstract class BaseActivity extends ActionBackActivity {
     public void ToastMessage(String message) {
         ViewUtil.ToastMessage(this, message);
     }
+    
+    
+    /**
+      * @desc:切换语言
+      * @author:Arison on 2017/5/18
+      */
+    protected void switchLanguage(String language) {
+        Resources resources = getResources();
+        Configuration config = resources.getConfiguration();
+        DisplayMetrics dm = resources.getDisplayMetrics();
+
+        if (language.equals(getString(R.string.language_en))) {
+            config.locale = Locale.ENGLISH;
+        } else if(language.equals(getString(R.string.language_rCN))) {
+            config.locale = Locale.SIMPLIFIED_CHINESE;
+        }else if(language.equals(getString(R.string.language_rTW))){
+            config.locale = Locale.TRADITIONAL_CHINESE;
+        }else if(language.equals(getString(R.string.language_sys))){
+            config.locale = Locale.getDefault();
+        }
+        resources.updateConfiguration(config, dm);
+        PreferenceUtils.putString("language", language);
+
+    }
 }

+ 70 - 38
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/setting/SelectLanguageActivity.java

@@ -1,8 +1,10 @@
 package com.xzjmyk.pm.activity.ui.erp.activity.setting;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.os.Handler;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
@@ -21,25 +23,29 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.bean.crm.Business;
+import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
+import com.xzjmyk.pm.activity.ui.erp.util.LogUtil;
 import com.xzjmyk.pm.activity.ui.erp.util.StringUtils;
 import com.xzjmyk.pm.activity.ui.erp.view.EmptyLayout;
+import com.xzjmyk.pm.activity.util.DateFormatUtil;
 import com.xzjmyk.pm.activity.view.SmoothCheckBox;
 
 import java.util.ArrayList;
 
 /**
-  * @desc:切换语言
-  * @author:Arison on 2017/5/11
-  */
+ * @desc:切换语言
+ * @author:Arison on 2017/5/11
+ */
 public class SelectLanguageActivity extends BaseActivity {
 
-    
+
     @ViewInject(R.id.list_business)
     private PullToRefreshListView mlist;
     private EmptyLayout mEmptyLayout;
     private BussinessDetailAdapter mAdapter;
     private ArrayList<Business> mData = new ArrayList<Business>();
+    private String currentLanguage;
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
@@ -51,7 +57,19 @@ public class SelectLanguageActivity extends BaseActivity {
     public boolean onOptionsItemSelected(MenuItem item) {
         switch (item.getItemId()) {
             case R.id.btn_save:
-               
+                LogUtil.d("MainActivity", "start:" + DateFormatUtil.getDateTimeStr());
+                new Thread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (!TextUtils.isEmpty(currentLanguage)) {
+                            switchLanguage(currentLanguage);
+                            switchLanguageAction();
+                        } else {
+                            switchLanguage(getString(R.string.language_rCN));
+                            switchLanguageAction();
+                        }
+                    }
+                }).start();
                 break;
             case android.R.id.home:
                 onBackPressed();
@@ -59,6 +77,7 @@ public class SelectLanguageActivity extends BaseActivity {
         }
         return true;
     }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -67,8 +86,8 @@ public class SelectLanguageActivity extends BaseActivity {
         initView();
         initData();
     }
-    
-    private void  initView(){
+
+    private void initView() {
         getSupportActionBar().setTitle(getString(R.string.set_language));
         mEmptyLayout = new EmptyLayout(this, mlist.getRefreshableView());
         mlist.setMode(PullToRefreshBase.Mode.DISABLED);
@@ -76,13 +95,15 @@ public class SelectLanguageActivity extends BaseActivity {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 BussinessDetailAdapter.ViewHolder holder = (BussinessDetailAdapter.ViewHolder) view.getTag();
-                ToastMessage(holder.tv_business_name.getText().toString());
+                //ToastMessage();
                 final boolean flag = !mAdapter.getMdata().get(position - 1).isChecked;
                 Log.i(TAG, "onClick:" + position + " check:" + !flag);
+                currentLanguage = holder.tv_business_name.getText().toString();
+
                 for (Business model : mAdapter.getMdata()) {
                     model.setIsChecked(false);
                 }
-                //把源数据清空
+                //把源数据清空 
                 for (Business model : mData) {
                     model.setIsChecked(false);
                 }
@@ -97,19 +118,19 @@ public class SelectLanguageActivity extends BaseActivity {
             }
         });
     }
-    
-    private void initData(){
-        Business b=new Business();
-        b.setName("跟随系统");
+
+    private void initData() {
+        Business b = new Business();
+        b.setName(getString(R.string.language_sys));
         mData.add(b);
-        b=new Business();
-        b.setName("简体中文");
+        b = new Business();
+        b.setName(getString(R.string.language_rCN));
         mData.add(b);
-        b=new Business();
-        b.setName("繁体中文");
+        b = new Business();
+        b.setName(getString(R.string.language_rTW));
         mData.add(b);
-        b=new Business();
-        b.setName("英语");
+        b = new Business();
+        b.setName(getString(R.string.language_en));
         mData.add(b);
         mAdapter = new BussinessDetailAdapter(this, mData);
         mlist.setAdapter(mAdapter);
@@ -180,19 +201,19 @@ public class SelectLanguageActivity extends BaseActivity {
             holder.cb_left.setFocusable(false);
             holder.cb_left.setEnabled(false);
             holder.cb_left.setClickable(false);
-            holder.code=mdata.get(position).getCode();
+            holder.code = mdata.get(position).getCode();
             holder.cb_left.setChecked(mdata.get(position).isChecked(), mdata.get(position).isChecked());
 
-            if (!StringUtils.isEmpty(searchkeys)){
+            if (!StringUtils.isEmpty(searchkeys)) {
                 holder.tv_business_name.setText(mdata.get(position).getName());
-              
-              //  holder.tv_business_leader.setText("负责人:"+mdata.get(position).getLeader());
+
+                //  holder.tv_business_leader.setText("负责人:"+mdata.get(position).getLeader());
                 holder.tv_business_leader.setVisibility(View.GONE);
 //                CommonUtil.textSpanForStyle(holder.tv_business_name, mdata.get(position).getName(),
 //                        searchkeys, ct.getResources().getColor(R.color.yellow));
 //                CommonUtil.textSpanForStyle(holder.tv_business_leader, "负责人:"+mdata.get(position).getLeader(),
 //                        searchkeys, ct.getResources().getColor(R.color.yellow));
-            }else{
+            } else {
                 holder.tv_business_leader.setVisibility(View.GONE);
                 holder.tv_business_name.setText(mdata.get(position).getName());
                 //holder.tv_business_leader.setText("负责人:"+mdata.get(position).getLeader());
@@ -202,28 +223,28 @@ public class SelectLanguageActivity extends BaseActivity {
 
         @Override
         public Filter getFilter() {
-            return   new Filter() {
+            return new Filter() {
                 @Override
                 protected FilterResults performFiltering(CharSequence constraint) {
                     //过滤数据
                     FilterResults searchResults = new FilterResults();
 
-                    if (constraint == null || constraint.length() == 0){
+                    if (constraint == null || constraint.length() == 0) {
 
-                        searchResults.values=mData;
-                        searchResults.count=mData.size();
-                    }else{
-                        mdata=mData;
-                        ArrayList<Business> newArry=new ArrayList<Business>();
-                        for (int i=0;i<mdata.size();i++){
-                            Business model=mdata.get(i);
-                            if (model.getName().contains(constraint)||model.getLeader().contains(constraint)){
+                        searchResults.values = mData;
+                        searchResults.count = mData.size();
+                    } else {
+                        mdata = mData;
+                        ArrayList<Business> newArry = new ArrayList<Business>();
+                        for (int i = 0; i < mdata.size(); i++) {
+                            Business model = mdata.get(i);
+                            if (model.getName().contains(constraint) || model.getLeader().contains(constraint)) {
                                 newArry.add(model);
                             }
                         }
 
-                        searchResults.values=newArry;
-                        searchResults.count=newArry.size();
+                        searchResults.values = newArry;
+                        searchResults.count = newArry.size();
                     }
                     return searchResults;
                 }
@@ -231,8 +252,8 @@ public class SelectLanguageActivity extends BaseActivity {
                 @Override
                 protected void publishResults(CharSequence constraint, FilterResults results) {
                     //装配数据
-                    mdata= (ArrayList<Business>) results.values;
-                    searchkeys=constraint.toString();
+                    mdata = (ArrayList<Business>) results.values;
+                    searchkeys = constraint.toString();
                     if (mAdapter.getCount() == 0) {
 
                     }
@@ -250,4 +271,15 @@ public class SelectLanguageActivity extends BaseActivity {
         }
     }
 
+    public void switchLanguageAction() {
+        Intent it = new Intent(SelectLanguageActivity.this,MainActivity.class);
+        it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        startActivity(it);
+        finish();
+        overridePendingTransition(0, 0);
+        LogUtil.d("MainActivity", "end:" + DateFormatUtil.getDateTimeStr());
+        System.exit(10);
+        android.os.Process.killProcess(android.os.Process.myPid());
+    }
+
 }

+ 3 - 5
WeiChat/src/main/res/drawable/actionbar_menu_selector.xml

@@ -1,9 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:drawable="@color/actionbar_selector_color" android:state_selected="true"/>
-    <item android:drawable="@color/actionbar_selector_color" android:state_focused="true"/>
-    <item android:drawable="@color/actionbar_selector_color" android:state_focused="false" android:state_pressed="true"/>
+    <item android:drawable="@color/transparent" android:state_selected="true"/>
+    <item android:drawable="@color/transparent" android:state_focused="true"/>
+    <item android:drawable="@color/actionbar_selector_color"  android:state_pressed="true"/>
     <item android:drawable="@color/transparent"/>
-
 </selector>

+ 6 - 0
WeiChat/src/main/res/values-en/strings.xml

@@ -1097,4 +1097,10 @@
     <string name="crm_niche_notice1">A customer is displayed by default,Link More</string>
     <string name="create_business">Create</string>
     <string name="describe">Description</string>
+
+    <!--翻译补漏-->
+    <string name="language_sys">跟随系统</string>
+    <string name="language_rCN">简体中文</string>
+    <string name="language_rTW">繁体中文</string>
+    <string name="language_en">英文</string>
 </resources>

+ 2 - 0
WeiChat/src/main/res/values-v11/styles.xml

@@ -9,6 +9,8 @@
         <item name="android:listViewStyle">@style/IMListView</item>
         <item name="actionBarItemBackground">@drawable/actionbar_menu_selector</item>
         <item name="homeAsUpIndicator">@drawable/actionbar_up_indicator</item>
+        <!-- This disables the black preview screen -->
+        <item name="android:windowDisablePreview">true</item>
     </style>
 
     <style name="IMActionBar" parent="@style/Widget.AppCompat.ActionBar">

+ 2 - 0
WeiChat/src/main/res/values-v14/styles.xml

@@ -19,6 +19,8 @@
         <item name="actionBarTabStyle">@style/MyActionBar</item>
         <item name="android:actionBarTabStyle">@style/MyActionBar</item>
         <item name="android:actionMenuTextAppearance">@style/MenuTextStyle</item>
+        <!-- This disables the black preview screen -->
+        <item name="android:windowDisablePreview">true</item>
     </style>
 
     <style name="AppBaseThemeBule" parent="Theme.AppCompat.Light.DarkActionBar">

+ 5 - 0
WeiChat/src/main/res/values-zh-rCN/strings.xml

@@ -1211,4 +1211,9 @@
     <string name="Business_license_number">营业执照号</string>
     <string name="crm_branch">我的下属</string>
     <string name="crm_niche_notice1">默认显示一个遗忘客户,点击显示更多</string>
+    <!--翻译补漏-->
+    <string name="language_sys">跟随系统</string>
+    <string name="language_rCN">简体中文</string>
+    <string name="language_rTW">繁体中文</string>
+    <string name="language_en">英文</string>
 </resources>

+ 6 - 0
WeiChat/src/main/res/values-zh-rTW/strings.xml

@@ -1202,4 +1202,10 @@
     <string name="Business_license_number">營業執照號</string>
     <string name="crm_niche_notice1">默認顯示一個遺忘客戶,點擊顯示更多</string>
     <string name="work_off_time">下班時間</string>
+
+    <!--翻译补漏-->
+    <string name="language_sys">跟隨系統</string>
+    <string name="language_rCN">簡體中文</string>
+    <string name="language_rTW">繁體中文</string>
+    <string name="language_en">英文</string>
 </resources>

+ 6 - 0
WeiChat/src/main/res/values/strings.xml

@@ -1557,4 +1557,10 @@
     <string name="please_unput_yourP">请输入您的问题...(400字以内)</string>
     <string name="Business_license_number">营业执照号</string>
     <string name="crm_niche_notice1">默认显示一个遗忘客户,点击显示更多</string>
+
+    <!--翻译补漏-->
+    <string name="language_sys">跟随系统</string>
+    <string name="language_rCN">简体中文</string>
+    <string name="language_rTW">繁体中文</string>
+    <string name="language_en">英文</string>
 </resources>

+ 2 - 0
WeiChat/src/main/res/values/styles.xml

@@ -33,6 +33,8 @@
         <item name="android:listViewStyle">@style/IMListView</item>
         <item name="actionBarItemBackground">@drawable/actionbar_menu_selector</item>
         <item name="homeAsUpIndicator">@drawable/actionbar_up_indicator</item>
+        <!-- This disables the black preview screen -->
+        <item name="android:windowDisablePreview">true</item>
     </style>