Explorar el Código

修改包名,和攻略指引

zhaoyi hace 8 años
padre
commit
030528eaed

+ 2 - 10
app/build.gradle

@@ -5,7 +5,7 @@ android {
     compileSdkVersion 26
     buildToolsVersion "26.0.2"
     defaultConfig {
-        applicationId "com.jiuyan.sheep_children"
+        applicationId "com.sheep.jiuyan.samllsheep"
         minSdkVersion 21
         targetSdkVersion 26
         versionCode 1
@@ -26,7 +26,6 @@ dependencies {
              exclude group: 'com.android.support', module: 'support-annotations'
          })*/
     compile 'com.android.support.constraint:constraint-layout:1.0.2'
-    compile 'com.didi.virtualapk:core:0.9.1'
     testCompile 'junit:junit:4.12'
     compile 'com.shark:screencapture:1.0.0'
     compile 'com.google.code.gson:gson:2.7'
@@ -36,16 +35,9 @@ dependencies {
     compile 'org.greenrobot:eventbus:3.1.1'
     compile 'com.zhy:base-adapter:3.0.3'
     compile 'com.liulishuo.filedownloader:library:1.6.9'
+    compile 'com.tencent.bugly:crashreport_upgrade:latest.release'
     compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
     debugCompile 'com.readystatesoftware.chuck:library:1.1.0'
     compile 'de.hdodenhof:circleimageview:2.2.0'
     releaseCompile 'com.readystatesoftware.chuck:library-no-op:1.1.0'
 }
-
-apply plugin: 'com.didi.virtualapk.plugin'
-
-virtualApk {
-    packageId = 0x6f // the package id of Resources.
-    targetHost = '../../VirtualAPK/app' // the path of application module in host project.
-    applyHostMapping = true //optional, default value: true.
-}

+ 4 - 0
app/proguard-rules.pro

@@ -33,3 +33,7 @@
 -keep class com.tencent.mm.opensdk.** {   *;}
 -keep class com.tencent.wxop.** {   *;}
 -keep class com.tencent.mm.sdk.** {   *;}
+
+-dontwarn com.tencent.bugly.**
+-keep public class com.tencent.bugly.**{*;}
+-keep class android.support.**{*;}

+ 6 - 2
app/src/main/AndroidManifest.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:tools="http://schemas.android.com/tools"
-          package="com.jiuyan.sheep_children">
+          package="com.sheep.jiuyan.samllsheep">
 
     <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
     <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/>
@@ -14,6 +14,7 @@
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
     <uses-permission android:name="android.permission.GET_TASKS"/>
+    <uses-permission android:name="android.permission.READ_LOGS"/>
 
 
     <permission
@@ -23,7 +24,7 @@
     <application
         android:name=".SheepApp"
         android:allowBackup="true"
-        android:icon="@drawable/icon"
+        android:icon="@drawable/icon_app"
         android:supportsRtl="true"
         android:theme="@style/AppTheme">
         <activity
@@ -89,6 +90,9 @@
         <activity
             android:name=".page.WithdrawRecordActivity"
             android:screenOrientation="portrait"/>
+        <activity
+            android:name=".page.WebActivity"
+            android:screenOrientation="portrait"/>
     </application>
 
 </manifest>

+ 1 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/Config.java

@@ -17,6 +17,7 @@ public class Config {
 
     public String mBaseUrl = "http://10.8.220.213:8088";
     public final static  String WX_APPID = "wx3c0376c4fcc8b723";
+    public final static  String BUGLY_APPID = "0dd998212c";
     public String[] mUrlList = new String[]{"http://10.8.220.213:8088", "http://10.8.220.213:8089", "http://10.8.220.250:8088"};
 
     public void setBaseUrl(String url) {

+ 3 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/SheepApp.java

@@ -6,6 +6,7 @@ import android.content.Context;
 import android.os.Bundle;
 
 import com.liulishuo.filedownloader.FileDownloader;
+import com.tencent.bugly.Bugly;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 
@@ -32,6 +33,8 @@ public class SheepApp extends Application {
         mSheepApp = this;
         regWx();
         registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
+
+        Bugly.init(getApplicationContext(), Config.BUGLY_APPID, BuildConfig.DEBUG);
     }
 
     private void regWx() {

+ 1 - 1
app/src/main/java/com/sheep/jiuyan/samllsheep/floatwindow/FloatService.java

@@ -203,7 +203,7 @@ public class FloatService extends Service implements View.OnClickListener {
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMessageEvent(FloatMsg event) {
         if (event.shouldShow) {
-            if (mFloatwindow != null) {
+            if (mFloatwindow != null && !mFloatwindow.isAttachedToWindow()) {
                 mWm.addView(mFloatwindow, params);
             }
         } else {

+ 4 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/page/LoginActivity.java

@@ -13,8 +13,10 @@ import android.widget.TextView;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.Config;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseActivity;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
 
 /**
  * Created by kemllor on 2017/12/21.
@@ -97,12 +99,12 @@ public class LoginActivity extends BaseActivity {
     }
 
     private void loginFromWx() {
-       /* SendAuth.Req req = new SendAuth.Req();
+    /*    SendAuth.Req req = new SendAuth.Req();
         req.scope = "snsapi_userinfo";
         req.state = "small_sheep_auther";
         SheepApp.mWxapi.sendReq(req);*/
 
-        SpUtils.login(this, "abcabc");
+        SpUtils.login(this, "123456");
     }
 
 

+ 31 - 14
app/src/main/java/com/sheep/jiuyan/samllsheep/page/MainActivity.java

@@ -1,6 +1,7 @@
 package com.sheep.jiuyan.samllsheep.page;
 
 import android.Manifest;
+import android.app.Activity;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -33,6 +34,7 @@ import com.sheep.jiuyan.samllsheep.utils.DeviceInfo;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
 import com.sheep.jiuyan.samllsheep.utils.PremissUtils;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+import com.tencent.mm.opensdk.modelmsg.WXAppExtendObject;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -40,6 +42,14 @@ import java.util.List;
 
 import de.hdodenhof.circleimageview.CircleImageView;
 
+
+/*
+* author:kemllor
+* version:1.0.0
+* copyright:云端助手
+* date:2017-12-15
+* file: MainActivity.class
+*/
 public class MainActivity extends BaseActivity implements View.OnClickListener {
 
     private XRecyclerView mRecyclerView;
@@ -97,11 +107,12 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
             @Override
             public void success(User user) {
                 mMoney.setText(user.getBalance());
-                Glide.with(MainActivity.this)
-                        .load(user.getIcon())
-                        .placeholder(R.drawable.icon)
-                        .dontAnimate()
-                        .into(mImgUser);
+                if (!MainActivity.this.isDestroyed())
+                    Glide.with(MainActivity.this)
+                            .load(user.getIcon())
+                            .placeholder(R.drawable.icon)
+                            .dontAnimate()
+                            .into(mImgUser);
                 mToday.setText(String.format("今日收入:%s", user.getToday()));
             }
         });
@@ -110,11 +121,12 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
             public void success(final TaskPublish taskPublish) {
                 if (taskPublish != null) {
                     mTlDoing.setVisibility(View.VISIBLE);
-                    Glide.with(MainActivity.this)
-                            .load(taskPublish.getTask().getIcon())
-                            .placeholder(R.drawable.icon)
-                            .dontAnimate()
-                            .into(mImgIcon);
+                    if (!MainActivity.this.isDestroyed())
+                        Glide.with(MainActivity.this)
+                                .load(taskPublish.getTask().getIcon())
+                                .placeholder(R.drawable.icon)
+                                .dontAnimate()
+                                .into(mImgIcon);
                     mTvTitle.setText(taskPublish.getTask().getTitle());
                     mTvTime.setText("截止日期:" + taskPublish.getOverTime());
                     mTvCount.setText(taskPublish.getSurplusCount() + "/" + taskPublish.getTotalCouont());
@@ -222,9 +234,15 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
             @Override
             public void success(String o) {
                 initData();
-                Intent intent = new Intent(MainActivity.this, DownloadActivity.class);
-                intent.putExtra("task", mClickItem.getTask());
-                startActivity(intent);
+                String pkg = mClickItem.getTask().getPkg();
+                if (!TextUtils.isEmpty(pkg))
+                    if (PackageUtil.isAppInstalled(getApplicationContext(), pkg)) {
+                        PackageUtil.startApp(getApplicationContext(), pkg);
+                    } else {
+                        Intent intent = new Intent(MainActivity.this, DownloadActivity.class);
+                        intent.putExtra("task", mClickItem.getTask());
+                        startActivity(intent);
+                    }
             }
         });
     }
@@ -238,7 +256,6 @@ public class MainActivity extends BaseActivity implements View.OnClickListener {
             if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                 ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
             }
-
     }
 
     private void findViewHead(View head) {

+ 2 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/page/TaskRecordActivity.java

@@ -198,6 +198,8 @@ public class TaskRecordActivity extends BaseActivity {
                             if (!TextUtils.isEmpty(item.getFailDesc())) {
                                 failed.setVisibility(View.VISIBLE);
                                 failed.setText(item.getFailDesc());
+                            }else {
+                                failed.setVisibility(View.GONE);
                             }
                         }
 

+ 11 - 3
app/src/main/java/com/sheep/jiuyan/samllsheep/page/UserCenterActivity.java

@@ -24,6 +24,14 @@ import de.hdodenhof.circleimageview.CircleImageView;
  * Created by kemllor on 2017/12/13.
  */
 
+/**
+ * author:kemllor
+ * version:1.0.0
+ * copyright:云端助手
+ * date:2017-12-15
+ * file: UserCenterActivity.class
+ */
+
 public class UserCenterActivity extends BaseActivity implements View.OnClickListener {
     private CircleImageView mImgIcon;
     private ImageView mBack;
@@ -63,7 +71,7 @@ public class UserCenterActivity extends BaseActivity implements View.OnClickList
         NetManager.get(Url.USER_INFO, map, getApplicationContext(), new SheepCallback<User>(this) {
             @Override
             public void success(User user) {
-                mUser =user;
+                mUser = user;
                 mTvNick.setText(user.getNickName());
                 mTvLevel.setText(user.getWxId());
                 mTvMoney.setText(user.getBalance());
@@ -74,7 +82,7 @@ public class UserCenterActivity extends BaseActivity implements View.OnClickList
 
     @Override
     public void initView() {
-        mImgIcon =  findViewById(R.id.img_icon);
+        mImgIcon = findViewById(R.id.img_icon);
         mTvNick = (TextView) findViewById(R.id.tv_nick);
         mTvLevel = (TextView) findViewById(R.id.tv_level);
         mTvMoney = (TextView) findViewById(R.id.tv_money);
@@ -92,7 +100,7 @@ public class UserCenterActivity extends BaseActivity implements View.OnClickList
             case R.id.tv_withdraw:
                 if (checkLogin()) {
                     intent = new Intent(UserCenterActivity.this, WithdrawActivity.class);
-                    intent.putExtra("money",mUser.getBalance());
+                    intent.putExtra("money", mUser.getBalance());
                     startActivity(intent);
                 } else {
                     toLogin();

+ 73 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/page/WebActivity.java

@@ -0,0 +1,73 @@
+package com.sheep.jiuyan.samllsheep.page;
+
+import android.content.Intent;
+import android.view.View;
+import android.view.ViewParent;
+import android.webkit.WebChromeClient;
+import android.webkit.WebResourceRequest;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.base.BaseActivity;
+
+/**
+ * Created by kemllor on 2018/1/2.
+ */
+
+public class WebActivity extends BaseActivity {
+
+    private WebView mWeb;
+    private TextView mTitle;
+    private View mBack;
+
+    @Override
+    protected int getLayoutId() {
+        return R.layout.web_activity;
+    }
+
+    @Override
+    public void initView() {
+        mWeb = findViewById(R.id.web);
+        mTitle = findViewById(R.id.tv_title);
+        mBack = findViewById(R.id.img_back);
+        mWeb.setWebChromeClient(new WebChromeClient() {
+
+        });
+        mWeb.setWebViewClient(new WebViewClient() {
+            @Override
+            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
+                view.loadUrl(request.getUrl().toString());
+                return true;
+            }
+        });
+    }
+
+    @Override
+    public void initListener() {
+        mBack.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+    }
+
+    @Override
+    public void initData() {
+        mTitle.setText("任务攻略");
+        Intent intent = getIntent();
+        String url = intent.getStringExtra("url");
+        mWeb.loadUrl(url);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        LinearLayout parent = (LinearLayout) mWeb.getParent();
+        parent.removeView(mWeb);
+        mWeb.destroy();
+    }
+}

+ 10 - 0
app/src/main/java/com/sheep/jiuyan/samllsheep/page/adapter/TaskAdapter.java

@@ -1,6 +1,7 @@
 package com.sheep.jiuyan.samllsheep.page.adapter;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.support.v7.widget.RecyclerView;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -10,6 +11,7 @@ import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.page.WebActivity;
 import com.sheep.jiuyan.samllsheep.page.entry.TaskPublish;
 
 import java.util.ArrayList;
@@ -72,6 +74,14 @@ public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.ViewHolder> {
                     }
                 }
         );
+        viewHolder.mTvGuide.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent(mActivity, WebActivity.class);
+                intent.putExtra("url", datas.get(position).getTask().getGuide());
+                mActivity.startActivity(intent);
+            }
+        });
     }
 
     //获取数据的数量

+ 0 - 3
app/src/main/java/com/sheep/jiuyan/samllsheep/wxapi/WXEntryActivity.java

@@ -56,9 +56,7 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
     @Override
     public void onResp(BaseResp resp) {
         int result = 0;
-
         Toast.makeText(this, "baseresp.getType = " + resp.getType(), Toast.LENGTH_SHORT).show();
-
         switch (resp.errCode) {
             case BaseResp.ErrCode.ERR_OK:
                 break;
@@ -71,7 +69,6 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
             default:
                 break;
         }
-
         Toast.makeText(this, result, Toast.LENGTH_LONG).show();
     }
 }

+ 3 - 2
app/src/main/res/layout/task_record_item.xml

@@ -66,6 +66,7 @@
             android:paddingRight="3dp">
 
             <TextView
+                android:layout_gravity="right"
                 android:id="@+id/tv_state"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
@@ -80,8 +81,8 @@
                 android:layout_height="wrap_content"
                 android:layout_alignParentRight="true"
                 android:layout_marginTop="5dp"
-                android:textColor="@color/black_dark"
-                android:textSize="12dp"
+                android:textColor="@color/red"
+                android:textSize="10dp"
                 android:visibility="gone"/>
 
         </LinearLayout>

+ 16 - 0
app/src/main/res/layout/web_activity.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:orientation="vertical">
+
+    <include
+        layout="@layout/title"/>
+
+    <WebView
+        android:id="@+id/web"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    </WebView>
+
+</LinearLayout>