From fba0a6ec71723221cd56f964ffb061d65f8568d2 Mon Sep 17 00:00:00 2001 From: khy <18814188563@163.com> Date: Wed, 8 Mar 2017 10:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9=E6=8D=A2=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=A4=B4=E5=83=8F=E8=A7=84=E5=88=99=EF=BC=8C=20=E5=BF=AB?= =?UTF-8?q?=E4=BC=A0=E5=AE=89=E8=A3=85=E6=B8=B8=E6=88=8F=E5=90=8E=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E6=B6=88=E6=81=AF=E6=A0=8F=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/gh/common/util/NotificationUtils.java | 6 +- .../gh/gamecenter/FileReceiverActivity.java | 2 +- .../java/com/gh/gamecenter/MainActivity.java | 45 +++++++++ .../gh/gamecenter/SelectUserIconActivity.java | 99 ++++--------------- .../gamecenter/adapter/PlatformAdapter.java | 1 + .../download/GameDownLoadFragment.java | 8 ++ 6 files changed, 77 insertions(+), 84 deletions(-) diff --git a/app/src/main/java/com/gh/common/util/NotificationUtils.java b/app/src/main/java/com/gh/common/util/NotificationUtils.java index e5361e3d59..e8bebe115b 100644 --- a/app/src/main/java/com/gh/common/util/NotificationUtils.java +++ b/app/src/main/java/com/gh/common/util/NotificationUtils.java @@ -18,12 +18,12 @@ import com.gh.gamecenter.R; public class NotificationUtils { // 快传传输完成消息 - public static void showKuaiChuanDoneNotification(Context context, String apkPath, String apkName) { + public static void showKuaiChuanDoneNotification(Context context, String apkPath, String apkName, String packName) { NotificationManager nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Intent intent = new Intent(); intent.putExtra("path", apkPath); intent.setAction("com.gh.gamecenter.INSTALL"); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context, (int) System.currentTimeMillis() / 1000, + PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0x321, intent, PendingIntent.FLAG_UPDATE_CURRENT); String title = "接收完成,点击立即安装"; String text = apkName; @@ -35,7 +35,7 @@ public class NotificationUtils { .setContentText(title) .setContentIntent(pendingIntent).build(); notification.flags |= Notification.FLAG_AUTO_CANCEL; // // FLAG_AUTO_CANCEL表明当通知被用户点击时,通知将被清除。 - nManager.notify((int) System.currentTimeMillis() / 1000, notification); + nManager.notify(packName,0x321, notification); } public static void showDownloadDoneNotification(Context context, DownloadEntity downloadEntity, int flag) { diff --git a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java index 2826fdf8a1..999cb22fe6 100644 --- a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java @@ -453,7 +453,7 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd NotificationUtils.showKuaiChuanDoneNotification(FileReceiverActivity.this, Environment.getExternalStorageDirectory() + "/GH-KC/" + mCurFileInfo.getName() + ".apk", - mCurFileInfo.getName()); + mCurFileInfo.getName(), mCurFileInfo.getPackageName()); } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index b5cfd175c1..819e185eab 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -65,6 +65,7 @@ import com.gh.gamecenter.manager.PackageManager; import com.gh.gamecenter.manager.UpdateManager; import com.gh.gamecenter.news.NewsFragment; import com.gh.gamecenter.personal.PersonalFragment; +import com.gh.gamecenter.retrofit.JSONObjectResponse; import com.gh.gamecenter.retrofit.ObservableUtil; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; @@ -387,6 +388,10 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene handler.postDelayed(skipRun, 500); Log.e("TD_CHANNEL_ID", (String) PackageUtils.getMetaData(this, getPackageName(), "TD_CHANNEL_ID")); + + if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) { + postDefaultIcon(true, sp.getInt("default_user_icon", 0)); + } } // 更新用户使用的助手信息 @@ -1214,6 +1219,46 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene protected void onDestroy() { super.onDestroy(); DownloadManager.getInstance(this).removeObserver(dataWatcher); + + if (sp.getBoolean("changeDefaultIcon", false) && sp.getInt("default_user_icon", 0) != 0) { + postDefaultIcon(true, sp.getInt("default_user_icon", 0)); + } + } + + // 提交默认头像 + private void postDefaultIcon(boolean isCheck, final int i) { + TokenUtils.getToken(this, isCheck) + .flatMap(new Func1>() { + @Override + public Observable call(String token) { + Map params = new HashMap<>(); + params.put("icon_key" , "icon" + i); + RequestBody body = RequestBody.create(MediaType.parse("application/json"), + new JSONObject(params).toString()); + return RetrofitManager.getUser().postDefaultIcon(token, body); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new JSONObjectResponse(){ + @Override + public void onResponse(JSONObject response) { + super.onResponse(response); + sp.edit().putBoolean("changeDefaultIcon", false); + } + @Override + public void onFailure(HttpException e) { + super.onFailure(e); + if (e != null) { + if (e.code() == 401) { + postDefaultIcon(true, i); + return; + } + + } + } + } + ); } } diff --git a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java index ff05c2ee3f..3cddc9fa40 100644 --- a/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SelectUserIconActivity.java @@ -10,34 +10,21 @@ import android.provider.MediaStore; import android.text.TextUtils; import android.view.View; import android.widget.TextView; -import android.widget.Toast; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; import com.gh.common.util.RandomUtils; -import com.gh.common.util.TokenUtils; +import com.gh.common.util.UserIconUtils; import com.gh.common.util.Utils; -import com.gh.gamecenter.retrofit.JSONObjectResponse; -import com.gh.gamecenter.retrofit.RetrofitManager; import org.json.JSONException; import org.json.JSONObject; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.HashMap; -import java.util.Map; import butterknife.BindView; import butterknife.OnClick; -import okhttp3.MediaType; -import okhttp3.RequestBody; -import okhttp3.ResponseBody; -import retrofit2.adapter.rxjava.HttpException; -import rx.Observable; -import rx.android.schedulers.AndroidSchedulers; -import rx.functions.Func1; -import rx.schedulers.Schedulers; /** * Created by khy on 2017/2/10. @@ -148,79 +135,31 @@ public class SelectUserIconActivity extends BaseActivity { } public void postUserIocn(int i) { - postDefaultIcon(true, i); + postDefaultIcon(i); } - public void postDefaultIcon(boolean isCheck, final int i) { - TokenUtils.getToken(this, isCheck) - .flatMap(new Func1>() { - @Override - public Observable call(String token) { - Map params = new HashMap<>(); - params.put("icon_key" , "icon" + i); - RequestBody body = RequestBody.create(MediaType.parse("application/json"), - new JSONObject(params).toString()); - return RetrofitManager.getUser().postDefaultIcon(token, body); - } - }) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe(new JSONObjectResponse(){ - @Override - public void onResponse(JSONObject response) { - super.onResponse(response); - try { - String icon = response.getString("icon"); + public void postDefaultIcon(final int i) { + String iconUrl = UserIconUtils.getUserIconUrl(i); - sp.edit().putInt("default_user_icon", i).apply(); + //初始化热点名称 + String chars = "abcdefghijklmnopqrstuvwxyz"; + int[] randomArray = RandomUtils.getRandomArray(2, 25); - //初始化热点名称 - String chars = "abcdefghijklmnopqrstuvwxyz"; - int[] randomArray = RandomUtils.getRandomArray(2, 25); + String mySsid = "ghZS-"; + for (int j : randomArray) { + mySsid = mySsid + chars.charAt(j); + } + mySsid = mySsid + i; + sp.edit().putString("hotspotName", mySsid).apply(); - String mySsid = "ghZS-"; - for (int i : randomArray) { - mySsid = mySsid + chars.charAt(i); - } - mySsid = mySsid + i; - sp.edit().putString("hotspotName", mySsid).apply(); + sp.edit().putInt("default_user_icon", i).apply(); - Intent intent = new Intent(); - intent.putExtra("url", icon); - setResult(0x125, intent); - finish(); - } catch (Exception e) { - e.printStackTrace(); - } - } - @Override - public void onFailure(HttpException e) { - super.onFailure(e); - if (e != null) { - if (e.code() == 401) { - postDefaultIcon(true, i); - return; - } + sp.edit().putBoolean("changeDefaultIcon", true).apply(); - if (e.code() == 403) { - try { - JSONObject response = new JSONObject(new String(e.response().errorBody().bytes())); - if ("too frequent".equals(response.getString("detail"))) { - Toast.makeText(SelectUserIconActivity.this, "修改太频繁", Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(SelectUserIconActivity.this, "修改失败", Toast.LENGTH_SHORT).show(); - } - } catch (Exception ex) { - ex.printStackTrace(); - Toast.makeText(SelectUserIconActivity.this, "修改失败", Toast.LENGTH_SHORT).show(); - } - } else { - Toast.makeText(SelectUserIconActivity.this, "网络异常,修改头像失败", Toast.LENGTH_SHORT).show(); - } - } - } - } - ); + Intent intent = new Intent(); + intent.putExtra("url", iconUrl); + setResult(0x125, intent); + finish(); } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java index 2cc3a64feb..bdf6fe9719 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/PlatformAdapter.java @@ -139,6 +139,7 @@ public class PlatformAdapter extends RecyclerView.Adapter { || "更新下载中".equals(status)) { // 打开下载管理界面 Intent intent = new Intent(context, DownloadManagerActivity.class); + intent.putExtra("currentItem", 1); intent.putExtra("url", apkEntity.getUrl()); intent.putExtra("entrance", entrance + "(" + location.split(":")[0] + ")"); context.startActivity(intent); diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java index 6592dd1986..32b9f18794 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownLoadFragment.java @@ -1,5 +1,7 @@ package com.gh.gamecenter.download; +import android.app.NotificationManager; +import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.Message; @@ -322,6 +324,12 @@ public class GameDownLoadFragment extends Fragment implements View.OnClickListen } } } + + if ("安装".equals(busFour.getType())) { + // 取消快传完成通知栏 + NotificationManager nManager = (NotificationManager) getContext().getSystemService(Context.NOTIFICATION_SERVICE); + nManager.cancel(packageName, 0x321); + } } public void onEventMainThread(EBUISwitch busNine) {