unknown 7 years ago
parent
commit
c63a7dbecd
53 changed files with 360 additions and 93 deletions
  1. 1 0
      .gitignore
  2. 2 2
      android/app/build.gradle
  3. BIN
      android/app/release/app-release.apk
  4. 1 1
      android/app/src/main/AndroidManifest.xml
  5. BIN
      android/app/src/main/ic_launcher-web.png
  6. 1 2
      android/app/src/main/java/com/topsoft/jianyu/App.java
  7. 51 4
      android/app/src/main/java/com/topsoft/jianyu/ExternalWebPage.java
  8. 27 9
      android/app/src/main/java/com/topsoft/jianyu/JyObj.java
  9. 8 5
      android/app/src/main/java/com/topsoft/jianyu/MainActivity.java
  10. 13 8
      android/app/src/main/java/com/topsoft/jianyu/MyReceiver.java
  11. 40 1
      android/app/src/main/java/com/topsoft/jianyu/SQLite/DbBase.java
  12. 42 1
      android/app/src/main/java/com/topsoft/jianyu/WelcomePage.java
  13. 4 8
      android/app/src/main/java/com/topsoft/jianyu/appUpdate/UpdateVersionController.java
  14. 9 2
      android/app/src/main/java/com/topsoft/jianyu/listener/CustomLoginListerner.java
  15. 8 1
      android/app/src/main/java/com/topsoft/jianyu/listener/CustomShareListener.java
  16. 3 2
      android/app/src/main/java/com/topsoft/jianyu/util/AppUtil.java
  17. 26 0
      android/app/src/main/res/drawable-hdpi/progress_style.xml
  18. 5 0
      android/app/src/main/res/drawable-hdpi/update_background.xml
  19. 10 0
      android/app/src/main/res/drawable-hdpi/update_btn_left_background.xml
  20. 11 0
      android/app/src/main/res/drawable-hdpi/update_btn_right_background.xml
  21. BIN
      android/app/src/main/res/drawable/share_thumb_img.png
  22. 0 0
      android/app/src/main/res/drawable/share_thumb_img1.jpeg
  23. 1 1
      android/app/src/main/res/layout/activity_main.xml
  24. 73 38
      android/app/src/main/res/layout/activity_updater.xml
  25. 11 1
      android/app/src/main/res/layout/external_web.xml
  26. 8 3
      android/app/src/main/res/layout/welcome_page.xml
  27. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher.png
  28. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  29. BIN
      android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  30. BIN
      android/app/src/main/res/mipmap-hdpi/welcome_page_background.jpg
  31. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher.png
  32. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  33. BIN
      android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  34. BIN
      android/app/src/main/res/mipmap-mdpi/welcome_page_background.png
  35. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
  36. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  37. BIN
      android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  38. BIN
      android/app/src/main/res/mipmap-xhdpi/umeng_socialize_fav.png
  39. BIN
      android/app/src/main/res/mipmap-xhdpi/umeng_socialize_qq.png
  40. BIN
      android/app/src/main/res/mipmap-xhdpi/umeng_socialize_qzone.png
  41. BIN
      android/app/src/main/res/mipmap-xhdpi/umeng_socialize_wechat.png
  42. BIN
      android/app/src/main/res/mipmap-xhdpi/umeng_socialize_wxcircle.png
  43. BIN
      android/app/src/main/res/mipmap-xhdpi/welcome_page_background.jpg
  44. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  45. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  46. BIN
      android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  47. BIN
      android/app/src/main/res/mipmap-xxhdpi/welcome_page_background.png
  48. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  49. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  50. BIN
      android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  51. BIN
      android/app/src/main/res/mipmap-xxxhdpi/welcome_page_background.png
  52. 3 2
      android/app/src/main/res/values/colors.xml
  53. 2 2
      android/app/src/main/res/values/strings.xml

+ 1 - 0
.gitignore

@@ -6,6 +6,7 @@ android/android.iml
 android/build/*
 android/.gradle/
 android/.idea/
+android/app/release/*
 
 
 

+ 2 - 2
android/app/build.gradle

@@ -4,10 +4,10 @@ android {
     compileSdkVersion 26
     defaultConfig {
         applicationId "com.topsoft.jianyu"
-        minSdkVersion 21
+        minSdkVersion 23
         targetSdkVersion 26
         versionCode 1
-        versionName "1.0.0"
+        versionName "1.0.2"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
     }
     buildTypes {

BIN
android/app/release/app-release.apk


+ 1 - 1
android/app/src/main/AndroidManifest.xml

@@ -10,7 +10,7 @@
     <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.WAKE_LOCK" />
-<!--    <uses-permission android:name="android.permission.READ_PHONE_STATE" />-->
+    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />

BIN
android/app/src/main/ic_launcher-web.png


+ 1 - 2
android/app/src/main/java/com/topsoft/jianyu/App.java

@@ -19,7 +19,7 @@ public class App extends Application {
         super.onCreate();
         Boolean isDebug=AppUtil.isApkInDebug(getApplicationContext());
         //是否开启友盟debug模式
-        Config.DEBUG =isDebug ;
+        Config.DEBUG =isDebug;
         //是否开启极光debug模式
         JPushInterface.setDebugMode(isDebug);
     }
@@ -27,7 +27,6 @@ public class App extends Application {
     //各个平台的配置,建议放在全局Application或者程序入口
     {
         PlatformConfig.setWeixin("wx0e6a5b18f4cfd10d", "bf12200554cb6edeb2be69d49dc11a3e");//正式
-        //PlatformConfig.setWeixin("wxd6f3e855ef4258cd", "ed5961aa2fca99d13ccff99130ba2866");//测试
         PlatformConfig.setQQZone("1106703118", "MYFVJZhtygWy5hzh");
     }
 }

+ 51 - 4
android/app/src/main/java/com/topsoft/jianyu/ExternalWebPage.java

@@ -1,10 +1,11 @@
 package com.topsoft.jianyu;
 
-import android.content.Context;
 import android.net.Uri;
 import android.os.Bundle;
+
 import android.support.annotation.Nullable;
 import android.support.v7.app.AppCompatActivity;
+import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.webkit.ValueCallback;
@@ -13,12 +14,16 @@ import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.LinearLayout;
+import android.widget.ProgressBar;
 
 import com.topsoft.jianyu.util.AppUtil;
 
 import java.util.HashMap;
 import java.util.Map;
 
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
 /**
  * Created by wangkaiyue on 2018/2/1.
  */
@@ -26,29 +31,39 @@ import java.util.Map;
 public class ExternalWebPage extends AppCompatActivity{
 
     private WebView wv;
-    private Context ctx;
+    private ProgressBar mProgressBar;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.external_web);
         AppUtil.setAndroidNativeLightStatusBar(this,false,true);
-        ctx=this;
+        mProgressBar = findViewById(R.id.progressBar);
+
+
         String url=getIntent().getStringExtra("url");
         initWebview(url);
         findViewById(R.id.back).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                finish();
+                if(wv.canGoBack()){
+                    wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
+                    wv.goBack();
+                }else{
+                    finish();
+                }
             }
         });
     }
+    private int lastProgress=0;
     protected void initWebview(String url) {
         LinearLayout mLayout = (LinearLayout) findViewById(R.id.webview);
         LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
         wv = new WebView(this);
         wv.setLayoutParams(params);
+
         mLayout.addView(wv);
+
         wv.setWebViewClient(new WebViewClient() {
         });
         wv.setWebChromeClient(new WebChromeClient() {
@@ -57,6 +72,23 @@ public class ExternalWebPage extends AppCompatActivity{
                 super.onShowFileChooser(webView, filePathCallback, fileChooserParams);
                 return true;
             }
+
+            @Override
+            public void onProgressChanged(WebView view,final int newProgress) {
+                super.onProgressChanged(view, newProgress);
+                if (newProgress == 100) {
+                    for(;lastProgress<100;lastProgress++){
+                        mProgressBar.setProgress(newProgress);
+                    }
+                    mProgressBar.setVisibility(GONE);
+                    lastProgress=0;
+                } else {
+                    mProgressBar.setVisibility(VISIBLE);
+                    for(;lastProgress<newProgress;lastProgress++){
+                        mProgressBar.setProgress(newProgress);
+                    }
+                }
+            }
         });
 
         WebSettings webSettings = wv.getSettings();
@@ -73,10 +105,25 @@ public class ExternalWebPage extends AppCompatActivity{
         //可以访问文件
         webSettings.setAllowFileAccess(true);
         webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
+        //设置放大缩小
+        webSettings.setSupportZoom(true);
+        webSettings.setBuiltInZoomControls(true);
+        webSettings.setDisplayZoomControls(false);//隐藏缩放工具
 
         Map<String, String> map = new HashMap<String, String>();
         map.put("User-Agent", "Android");
         wv.loadUrl(url, map);
+
+    }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        if (keyCode == KeyEvent.KEYCODE_BACK && wv.canGoBack()) {
+            wv.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
+            wv.goBack();
+            return true;
+        }
+        return super.onKeyDown(keyCode, event);
     }
 
     @Override

+ 27 - 9
android/app/src/main/java/com/topsoft/jianyu/JyObj.java

@@ -1,8 +1,6 @@
 package com.topsoft.jianyu;
 
 
-
-
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
@@ -14,6 +12,7 @@ import android.webkit.WebView;
 
 import com.topsoft.jianyu.SQLite.DbBase;
 import com.topsoft.jianyu.listener.CustomLoginListerner;
+import com.topsoft.jianyu.listener.CustomRemoveLoginListerner;
 import com.topsoft.jianyu.listener.CustomShareListener;
 import com.topsoft.jianyu.util.AppUtil;
 import com.umeng.socialize.ShareAction;
@@ -49,7 +48,7 @@ public class JyObj {
 
     //分享
     @JavascriptInterface
-    public void share(String title,String content,String link){
+    public void share(String type,String title,String content,String link){
         final UMShareListener umShareListener=new CustomShareListener(mContext);
         //申请分享所需要的权限
         if(Build.VERSION.SDK_INT>=23){
@@ -57,16 +56,32 @@ public class JyObj {
             ActivityCompat.requestPermissions(mainActivity,mPermissionList,123);
         }
         //弹出分享面板
-        UMWeb web = new UMWeb(link);
+        UMWeb web = new UMWeb(AppUtil.AppUrl+link);
         web.setTitle(title);//标题
         UMImage thumb =  new UMImage(mContext, R.drawable.share_thumb_img);
         web.setThumb(thumb);  //缩略图
         web.setDescription(content);//描述
-        new ShareAction(mainActivity)
-                .withMedia(web)
-                .setDisplayList(SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE)
-                .setCallback(umShareListener)
-                .open();
+
+        if("2".equals(type)){
+            new ShareAction(mainActivity)
+                    .withMedia(web)
+                    .setPlatform(SHARE_MEDIA.QQ)//传入平台
+                    //.setDisplayList(SHARE_MEDIA.QQ,,)
+                    .setCallback(umShareListener)
+                    .share();
+        }else if("1".equals(type)){
+            new ShareAction(mainActivity)
+                    .withMedia(web)
+                    .setPlatform(SHARE_MEDIA.WEIXIN)//传入平台
+                    .setCallback(umShareListener)
+                    .share();
+        }else if("3".equals(type)){
+            new ShareAction(mainActivity)
+                    .withMedia(web)
+                    .setPlatform(SHARE_MEDIA.WEIXIN_CIRCLE)//传入平台
+                    .setCallback(umShareListener)
+                    .share();
+        }
 
     }
 
@@ -94,6 +109,9 @@ public class JyObj {
     //删除用户登录标识
     @JavascriptInterface
     public void removeUserToken(){
+        //删除授权
+        CustomRemoveLoginListerner removeLoginListerner=new CustomRemoveLoginListerner(mContext,webView);
+        UMShareAPI.get(mContext).deleteOauth(mainActivity,SHARE_MEDIA.WEIXIN,removeLoginListerner);
         //清除共享存储区中的token
         share.edit().clear().commit();
     }

+ 8 - 5
android/app/src/main/java/com/topsoft/jianyu/MainActivity.java

@@ -2,11 +2,8 @@ package com.topsoft.jianyu;
 
 
 
-
 import android.content.Context;
 import android.content.Intent;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
@@ -14,7 +11,7 @@ import android.os.Message;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.view.KeyEvent;
-import android.view.View;
+
 import android.view.ViewGroup;
 import android.webkit.ValueCallback;
 import android.webkit.WebChromeClient;
@@ -23,7 +20,7 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.widget.LinearLayout;
 
-import com.topsoft.jianyu.SQLite.DBHelper;
+
 import com.topsoft.jianyu.appUpdate.UpdateVersionController;
 import com.topsoft.jianyu.util.AppUtil;
 import com.umeng.socialize.UMShareAPI;
@@ -65,6 +62,7 @@ public class MainActivity extends AppCompatActivity {
         //判断是否是点击推送打开的
         if(pushurl==null||"".equals(pushurl)){
             initWebview(AppUtil.AppUrl+"/jyapp/free/me");
+            //initWebview("http://192.168.100.137:8020/jyAppWeb/index.html?__hbt=1517985152120");
         }else{
             initWebview(AppUtil.AppUrl+pushurl);
         }
@@ -72,6 +70,10 @@ public class MainActivity extends AppCompatActivity {
         //初始化配置
         initconfigure();
 
+       /* PowerManager mPowerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
+        Boolean b=mPowerManager.isIgnoringBatteryOptimizations(ctx.getPackageName());
+        Toast.makeText(ctx,b+"加入程序白名单",Toast.LENGTH_SHORT).show();*/
+
         /*findViewById(R.id.test).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -205,4 +207,5 @@ public class MainActivity extends AppCompatActivity {
             }
         }
     };
+
 }

+ 13 - 8
android/app/src/main/java/com/topsoft/jianyu/MyReceiver.java

@@ -70,15 +70,21 @@ public class MyReceiver extends BroadcastReceiver {
 				String url=litObj.has("url")?litObj.getString("url"):"";
 				String pushTime=litObj.has("pushTime")?litObj.getString("pushTime"):"";
 				String type=obj.getString("type");
-
-				//修改信息为已读信息
-				DbBase.getInstance(context).updateMessageState(pushTime);
 				Intent i = new Intent(context, MainActivity.class);
 
-				//更改url 根据推送事件获取信息id
-				Integer integer=DbBase.getInstance(context).getIDbypushTime(pushTime);
-				if(integer>0){
-					if("".equals(type)&&!"".equals(url)) url=url+integer;
+				//修改信息为已读信息
+				if("".equals(pushTime)){
+					//根据url设置已读
+					DbBase.getInstance(context).updateMessageStateByUrl(url);
+				}else{
+					//根据pushTime设置已读
+					DbBase.getInstance(context).updateMessageStateByPushTime(pushTime);
+
+					//更改url 根据推送事件获取信息id
+					Integer integer=DbBase.getInstance(context).getIDbypushTime(pushTime);
+					if(integer>0){
+						if("".equals(type)&&!"".equals(url)) url=url+integer;
+					}
 				}
 
 				i.putExtra("url",url);
@@ -90,7 +96,6 @@ public class MyReceiver extends BroadcastReceiver {
 
 		}
 
-
 	}
 
 	// 打印所有的 intent extra 数据

+ 40 - 1
android/app/src/main/java/com/topsoft/jianyu/SQLite/DbBase.java

@@ -145,7 +145,7 @@ public class DbBase {
         return result;
     }
     //根据消息的推送时间改变为已读信息
-    public boolean updateMessageState(String pushTime) {
+    public boolean updateMessageStateByPushTime(String pushTime) {
         if("".equals(pushTime)){
             return false;
         }
@@ -183,6 +183,45 @@ public class DbBase {
         }
         return result;
     }
+    //根据消息的url改变为已读信息
+    public boolean updateMessageStateByUrl(String url) {
+        if("".equals(url)){
+            return false;
+        }
+        boolean result = true;
+        DBHelper dbHelper = new DBHelper(context,DB_NAME,null,1);
+        SQLiteDatabase db =dbHelper.getWritableDatabase();
+        try {
+            db.beginTransaction();
+            ContentValues cv = new ContentValues();
+            cv.put("readed", 1);
+
+            String whereClause = "link=?";
+            String[] whereArgs = {url};
+            //参数1 是要更新的表名
+            //参数2 是一个ContentValeus对象
+            //参数3 是where子句
+            if(db.update(MASSAHE_TABLE_NAME, cv, whereClause, whereArgs)<0){
+                result=false;
+            }
+            if (result) {
+                db.setTransactionSuccessful();
+            }
+        } catch (Exception e) {
+            Log.e(LOG_TAG,e.getMessage());
+            return false;
+        } finally {
+            try {
+                if (null != db) {
+                    db.endTransaction();
+                    db.close();
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return result;
+    }
     //根据推送时间获取信息id
     public Integer getIDbypushTime(String pushTime){
         Integer id=-1;

+ 42 - 1
android/app/src/main/java/com/topsoft/jianyu/WelcomePage.java

@@ -1,13 +1,20 @@
 package com.topsoft.jianyu;
 
+
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.Handler;
+import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.v4.app.ActivityCompat;
 import android.support.v7.app.AppCompatActivity;
 
 import com.topsoft.jianyu.util.AppUtil;
 
+import java.util.ArrayList;
+import java.util.List;
+
 
 /**
  * Created by wangkaiyue on 2018/1/24.
@@ -15,12 +22,16 @@ import com.topsoft.jianyu.util.AppUtil;
 
 public class WelcomePage extends AppCompatActivity {
 
+    private String[] permissions = new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE};
+    List<String> mPermissionList = new ArrayList<>();
+
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.welcome_page);
         AppUtil.setAndroidNativeLightStatusBar(this,true,true);
-        toMainActivity();
+        mPermissionList.clear();
+        permissionCheck(permissions);
     }
 
     //跳转Mainactivity
@@ -32,4 +43,34 @@ public class WelcomePage extends AppCompatActivity {
             }
         }, 2000);
     }
+
+    private void permissionCheck(String[] permissions) {
+        for (int i = 0; i < permissions.length; i++) {
+            if (ActivityCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
+                mPermissionList.add(permissions[i]);
+            }
+        }
+        if (mPermissionList.isEmpty()) {
+            toMainActivity();
+        } else {
+            String[] _permissions = mPermissionList.toArray(new String[mPermissionList.size()]);//将List转为数组
+            ActivityCompat.requestPermissions(this, _permissions, 51);
+        }
+    }
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        switch (requestCode) {
+            case 51:
+                if (grantResults.length > 0) {
+                    for (int granted : grantResults) {
+                        if (granted != PackageManager.PERMISSION_GRANTED) {
+                            break;
+                        }
+                    }
+                }
+                toMainActivity();
+                break;
+        }
+    }
 }

+ 4 - 8
android/app/src/main/java/com/topsoft/jianyu/appUpdate/UpdateVersionController.java

@@ -61,7 +61,7 @@ public class UpdateVersionController {
             @Override
             public void onError(Call call, Exception e, int i) {
                 LoadingUtils.closeDialog(dialog);
-                Toast.makeText(context, "服务器信息获取失败请检查网络或者重新设置连接信息!", Toast.LENGTH_SHORT).show();
+                Toast.makeText(context, "服务器信息获取失败!", Toast.LENGTH_SHORT).show();
                 Log.e(TAG, "检查更新出错:" + AppUpdateUrl);
             }
 
@@ -102,14 +102,11 @@ public class UpdateVersionController {
         dialog.setContentView(R.layout.activity_updater);
         dialog.setCanceledOnTouchOutside(false);
         dialog.setCancelable(false);
-        dialog.setTitle("版本更新");
         ((TextView) dialog.findViewById(R.id.content)).setText(dialogText);
         cancelBtn = (Button) dialog.findViewById(R.id.cancel);
-        String cancelText=mustUpdate?"退出":"不更新";
+        String cancelText=mustUpdate?"退出":"不更新";
 
         cancelBtn.setText(cancelText);
-        //cancelBtn.setVisibility(mustUpdate? View.GONE : View.VISIBLE);
-        // 取消更新
         cancelBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -162,13 +159,12 @@ public class UpdateVersionController {
                 sdDir.mkdirs();
             }
 
-            //http://192.168.3.207:8081/res/zsgs_001_V1.3.6.apk
             final String tmpFileName=updateUrl.substring(updateUrl.lastIndexOf("/") + 1);
-            OkHttpUtils.post().url(destFileDir).build().execute(new FileCallBack(destFileDir,tmpFileName) {
+            OkHttpUtils.post().url(updateUrl).build().execute(new FileCallBack(destFileDir,tmpFileName) {
                 @Override
                 public void onError(Call call, Exception e, int i) {
                     Toast.makeText(context, "文件下载失败了~", Toast.LENGTH_SHORT).show();
-                    Log.e(TAG,""+e.getMessage());
+                    Log.e(TAG,"下载安装包失败"+e.getMessage());
                     pd.dismiss();
                 }
 

+ 9 - 2
android/app/src/main/java/com/topsoft/jianyu/listener/CustomLoginListerner.java

@@ -14,6 +14,7 @@ import com.topsoft.jianyu.MainActivity;
 import com.topsoft.jianyu.util.LoadingUtils;
 import com.topsoft.jianyu.util.StringUtil;
 import com.umeng.socialize.UMAuthListener;
+import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 
 import static android.content.Context.MODE_PRIVATE;
@@ -104,8 +105,14 @@ public class CustomLoginListerner implements UMAuthListener {
     public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
         LoadingUtils.closeDialog(dialog);
         Log.e(LOG_TAG,"登录出错"+i+":"+throwable.getMessage());
-        if(i==0){//没有安装app  i=0
-            Toast.makeText(context,"微信登录失败,没有安装微信",Toast.LENGTH_SHORT).show();
+        if(i==0||throwable.getMessage().contains("没有安装应用")){
+            Toast.makeText(context,"微信登录失败,没有安装微信",Toast.LENGTH_LONG).show();
+        }
+        if(i==2||throwable.getMessage().contains("获取用户资料失败")){
+            Toast.makeText(context,"获取用户信息失败,请重新尝试",Toast.LENGTH_LONG).show();
+            //删除授权
+            CustomRemoveLoginListerner removeLoginListerner=new CustomRemoveLoginListerner(context,webView);
+            UMShareAPI.get(context).deleteOauth((Activity)context,SHARE_MEDIA.WEIXIN,removeLoginListerner);
         }
     }
 

+ 8 - 1
android/app/src/main/java/com/topsoft/jianyu/listener/CustomShareListener.java

@@ -3,6 +3,7 @@ package com.topsoft.jianyu.listener;
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
+import android.widget.Toast;
 
 import com.topsoft.jianyu.MainActivity;
 import com.topsoft.jianyu.util.LoadingUtils;
@@ -46,7 +47,13 @@ public  class CustomShareListener implements UMShareListener {
             LoadingUtils.closeDialog(dialog);
         }
         if (t != null) {
-            Log.d("throw", "throw:" + t.getMessage());
+            Log.d("throw"+t, "throw:" + t.getMessage());
+            if(t.getMessage().contains("没有安装应用")){
+                Toast.makeText(context,"没有安装此应用",Toast.LENGTH_LONG).show();
+            }
+            if(t.getMessage().contains("QQ图片存储失败")){
+                Toast.makeText(context,"您未开启相关权限",Toast.LENGTH_LONG).show();
+            }
         }
     }
 

+ 3 - 2
android/app/src/main/java/com/topsoft/jianyu/util/AppUtil.java

@@ -23,8 +23,8 @@ import java.lang.reflect.Method;
 public class AppUtil {
 
     public static String JPUSH_CLIENT_RGSID;//记录极光推送客户端id
-    public static String AppUrl="http://webwcj.qmx.top";
-    //public static String AppUrl="http://w2blmjy.qmx.top";
+    //public static String AppUrl="http://webwcj.qmx.top";
+    public static String AppUrl="http://w2blmjy.qmx.top";
     /**
      * 判断当前应用是否是debug状态
      */
@@ -145,4 +145,5 @@ public class AppUtil {
         }
         return pi;
     }
+
 }

+ 26 - 0
android/app/src/main/res/drawable-hdpi/progress_style.xml

@@ -0,0 +1,26 @@
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
+
+    <item android:id="@android:id/background">
+        <shape>
+            <corners android:radius="2dp" />
+            <gradient
+                android:angle="270"
+                android:centerColor="#E3E3E3"
+                android:endColor="#E6E6E6"
+                android:startColor="#C8C8C8" />
+        </shape>
+    </item>
+    <item android:id="@android:id/progress">
+        <clip>
+            <shape>
+                <corners android:radius="2dp" />
+                <gradient
+                    android:centerColor="#4AEA2F"
+                    android:endColor="#31CE15"
+                    android:startColor="#5FEC46" />
+
+            </shape>
+        </clip>
+    </item>
+
+</layer-list>

+ 5 - 0
android/app/src/main/res/drawable-hdpi/update_background.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <corners android:radius="14dp" />
+    <solid android:color="#fff" />
+</shape>

+ 10 - 0
android/app/src/main/res/drawable-hdpi/update_btn_left_background.xml

@@ -0,0 +1,10 @@
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="#fff" />
+    <corners
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp"
+        android:bottomRightRadius="0dp"
+        android:bottomLeftRadius="14dp"
+        />
+</shape>

+ 11 - 0
android/app/src/main/res/drawable-hdpi/update_btn_right_background.xml

@@ -0,0 +1,11 @@
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <!-- rectangle表示为矩形 -->
+    <solid android:color="#fff" />
+    <corners
+        android:topLeftRadius="0dp"
+        android:topRightRadius="0dp"
+        android:bottomRightRadius="14dp"
+        android:bottomLeftRadius="0dp"
+        />
+</shape>

BIN
android/app/src/main/res/drawable/share_thumb_img.png


+ 0 - 0
android/app/src/main/res/drawable/share_thumb_img.jpeg → android/app/src/main/res/drawable/share_thumb_img1.jpeg


+ 1 - 1
android/app/src/main/res/layout/activity_main.xml

@@ -15,7 +15,7 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         android:orientation="vertical"></LinearLayout>
-<!--    <Button
+       <!--<Button
         android:id="@+id/test"
         android:layout_width="100dp"
         android:layout_height="40dp"

+ 73 - 38
android/app/src/main/res/layout/activity_updater.xml

@@ -1,47 +1,82 @@
 <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@android:color/white"
-    android:padding="16dp">
-
-    <android.support.v7.widget.AppCompatTextView
-        android:id="@+id/title"
+    android:layout_height="wrap_content"
+    android:layout_margin="10dp"
+    android:background="@drawable/update_background">
+    <TableLayout
+        android:id="@+id/top"
         android:layout_width="match_parent"
-        android:layout_height="48dp"
-        android:gravity="center_vertical"
-        android:text="更新提示"
-        android:textColor="@color/updateTitle"
-        android:textSize="18sp" />
+        android:layout_height="84dp">
+        <android.support.v7.widget.AppCompatTextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_marginTop="22dp"
+            android:gravity="center_vertical"
+            android:text="发现最新版本"
+            android:textAlignment="center"
+            android:textColor="@color/updateText"
+            android:textSize="17dp" />
 
-    <android.support.v7.widget.AppCompatTextView
-        android:id="@+id/content"
+        <android.support.v7.widget.AppCompatTextView
+            android:id="@+id/content"
+            android:layout_width="match_parent"
+            android:layout_height="36dp"
+            android:textColor="@color/updateText"
+            android:layout_marginTop="11dp"
+            android:text="检测到新版本v.1.0.2"
+            android:textSize="14dp"
+            android:textAlignment="center"
+            android:layout_below="@+id/title" />
+    </TableLayout>
+    <ImageView
+        android:id="@+id/line"
+        android:layout_below="@+id/top"
+        android:layout_marginTop="11dp"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textColor="@color/colorAccent"
-        android:layout_below="@+id/title" />
-
-    <Button
-        android:id="@+id/ok"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignParentEnd="true"
-        android:layout_alignParentRight="true"
-        android:layout_below="@id/content"
-        android:textColor="@color/updateTitle"
-        android:theme="@style/Theme.AppCompat.Light"
-        android:text="@string/app_updater_download_now" />
-
-    <Button
-        android:id="@+id/cancel"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_alignBaseline="@+id/ok"
-        android:layout_alignBottom="@+id/ok"
-        android:layout_toLeftOf="@+id/ok"
-        android:layout_toStartOf="@+id/ok"
-        android:textColor="@color/updateTitle"
-        android:theme="@style/Theme.AppCompat.Light"/>
+        android:layout_height="1dp"
+        android:background="#bbb"/>
+    <TableLayout
+        android:layout_below="@+id/line"
+        android:layout_width="match_parent"
+        android:gravity="center"
+        android:layout_height="44dp">
+        <TableRow>
+            <Button
+                android:id="@+id/cancel"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_alignBaseline="@+id/ok"
+                android:layout_alignBottom="@+id/ok"
+                android:layout_toLeftOf="@+id/ok"
+                android:layout_toStartOf="@+id/ok"
+                android:layout_weight="1"
+                android:text="@string/app_updater_download_later"
+                android:textAlignment="center"
+                android:textColor="@color/btnTextColor"
+                android:textSize="17dp"
+                android:theme="@style/Theme.AppCompat.Light"
+                android:background="@drawable/update_btn_left_background"/>
+            <ImageView
+                android:layout_width="1dp"
+                android:layout_height="match_parent"
+                android:background="#bbb"/>
+            <Button
+                android:id="@+id/ok"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_alignParentEnd="true"
+                android:layout_alignParentRight="true"
+                android:layout_below="@id/content"
+                android:text="@string/app_updater_download_now"
+                android:textColor="@color/btnTextColor"
+                android:theme="@style/Theme.AppCompat.Light"
+                android:textAlignment="center"
+                android:textSize="17dp"
+                android:layout_weight="1"
+                android:background="@drawable/update_btn_right_background"/>
+        </TableRow>
 
+    </TableLayout>
 
 </RelativeLayout>

+ 11 - 1
android/app/src/main/res/layout/external_web.xml

@@ -7,7 +7,6 @@
     android:layout_height="match_parent"
     tools:context="com.topsoft.jianyu.MainActivity">
 
-
     <LinearLayout
         android:id="@+id/webview"
         android:layout_width="match_parent"
@@ -16,6 +15,17 @@
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"></LinearLayout>
 
+    <ProgressBar
+        android:id="@+id/progressBar"
+        android:layout_width="match_parent"
+        android:layout_height="3dip"
+        android:layout_marginTop="0dp"
+        style="?android:attr/progressBarStyleHorizontal"
+        android:progressDrawable="@drawable/progress_style"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/webview"
+        android:visibility="gone"/>
+
     <Button
         android:id="@+id/back"
         android:layout_width="40dp"

+ 8 - 3
android/app/src/main/res/layout/welcome_page.xml

@@ -2,7 +2,12 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@mipmap/welcome_page_background"
-    >
-
+    android:orientation="vertical"
+    android:id="@+id/firstPage">
+    <ImageView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@mipmap/welcome_page_background"
+        android:scaleType="centerCrop"
+        />
 </LinearLayout>

BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png


BIN
android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png


BIN
android/app/src/main/res/mipmap-hdpi/welcome_page_background.jpg


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png


BIN
android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
android/app/src/main/res/mipmap-mdpi/welcome_page_background.png


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png


BIN
android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


BIN
android/app/src/main/res/mipmap-xhdpi/umeng_socialize_fav.png


BIN
android/app/src/main/res/mipmap-xhdpi/umeng_socialize_qq.png


BIN
android/app/src/main/res/mipmap-xhdpi/umeng_socialize_qzone.png


BIN
android/app/src/main/res/mipmap-xhdpi/umeng_socialize_wechat.png


BIN
android/app/src/main/res/mipmap-xhdpi/umeng_socialize_wxcircle.png


BIN
android/app/src/main/res/mipmap-xhdpi/welcome_page_background.jpg


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png


BIN
android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


BIN
android/app/src/main/res/mipmap-xxhdpi/welcome_page_background.png


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png


BIN
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


BIN
android/app/src/main/res/mipmap-xxxhdpi/welcome_page_background.png


+ 3 - 2
android/app/src/main/res/values/colors.xml

@@ -2,7 +2,8 @@
 <resources>
     <color name="colorPrimary">#00000000</color>
     <color name="colorPrimaryDark">#00000000</color>
-    <color name="colorAccent">#3F51B5</color>
-    <color name="updateTitle">#1f2021</color>
+    <color name="btnTextColor">#157efb</color>
+    <color name="updateText">#1d1d1d</color>
     <color name="button_bak_background">#80232425</color>
+    <color name="colorAccent">#3F51B5</color>
 </resources>

+ 2 - 2
android/app/src/main/res/values/strings.xml

@@ -13,6 +13,6 @@
     <string name="title_dashboard">订阅</string>
     <string name="title_notifications">历史</string>
 
-    <string name="app_updater_download_now">下载安装</string>
-    <string name="app_updater_download_later">不更新</string>
+    <string name="app_updater_download_now">更新</string>
+    <string name="app_updater_download_later">不更新</string>
 </resources>