Commit ae7936c9 by 罗翻

增加资质提醒框

parent c22dfa84
......@@ -63,18 +63,15 @@ public class InformBean implements Serializable {
}
public static class CustomJsonBean implements Serializable {
/**
* orderId : 6
*/
private int orderId;
private int id;
public int getOrderId() {
return orderId;
public int getId() {
return id;
}
public void setOrderId(int orderId) {
this.orderId = orderId;
public void setId(int id) {
this.id = id;
}
}
}
......@@ -6,12 +6,16 @@ import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import com.dayu.bigfish.R;
import com.dayu.bigfish.api.protocol.InformBean;
import com.dayu.bigfish.ui.MainActivity;
import com.dayu.common.Constants;
import com.dayu.usercenter.ui.activity.LicenceDetailActivity;
import com.dayu.utils.AppManager;
import com.dayu.widgets.LicenceDialog;
import com.google.gson.Gson;
import com.hyphenate.EMMessageListener;
import com.hyphenate.chat.EMClient;
......@@ -21,6 +25,10 @@ import com.hyphenate.chat.EMOptions;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import static android.app.PendingIntent.FLAG_CANCEL_CURRENT;
import static com.dayu.common.Constants.IS_DEBUG;
......@@ -34,6 +42,7 @@ public class HxManager {
private static HxManager instance;
private boolean sdkInited = false;
private Context mContext;
private LicenceDialog mDialog;
private HxManager() {
}
......@@ -82,33 +91,52 @@ public class HxManager {
String jsonStr = gson.toJson(map);
InformBean info = gson.fromJson(jsonStr, InformBean.class);
info.setCustomJson(customJsonBean);
Intent intent = new Intent(mContext, MainActivity.class);
intent.putExtra(Constants.MESSAGE_INFO, info);
PendingIntent pi = PendingIntent.getActivity(mContext,
1, intent, FLAG_CANCEL_CURRENT);
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
// 设置打开通知,该通知取消
Notification notification = builder.setAutoCancel(true)
// 设置通知提示信息
.setTicker(info.getTitle())
// 设置通知的图标
.setSmallIcon(R.mipmap.logo)
// 设置通知的标题
.setContentTitle(info.getTitle())
// 设置通知的内容
.setContentText(content)
// 设置使用系统默认的声音、LED
.setDefaults(
Notification.DEFAULT_LIGHTS
| Notification.DEFAULT_SOUND)
// 设置通知发布时间
.setWhen(System.currentTimeMillis())
// 设置将要启动的活动
.setContentIntent(pi)
.build();
if (notificationManager!=null){
notificationManager.notify(0, builder.build());
if (info.getFunctionType() == 3) {
Observable.timer(100, TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread())
.subscribeOn(AndroidSchedulers.mainThread()).subscribe(aLong -> {
Context activity = AppManager.getInstance().currentActivity();
mDialog = new LicenceDialog(activity, R.style.custom_dialog2, content);
mDialog.setOnclickListener(view -> {
Intent intent = new Intent(activity, LicenceDetailActivity.class);
Bundle bundle = new Bundle();
bundle.putInt(Constants.ID, customJsonBean.getId());
intent.putExtra(Constants.BUNDLE, bundle);
activity.startActivity(intent);
mDialog.dismiss();
});
if (!mDialog.isShowing()) {
mDialog.show();
}
});
} else {
Intent intent = new Intent(mContext, MainActivity.class);
intent.putExtra(Constants.MESSAGE_INFO, info);
PendingIntent pi = PendingIntent.getActivity(mContext,
1, intent, FLAG_CANCEL_CURRENT);
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
// 设置打开通知,该通知取消
Notification notification = builder.setAutoCancel(true)
// 设置通知提示信息
.setTicker(info.getTitle())
// 设置通知的图标
.setSmallIcon(R.mipmap.logo)
// 设置通知的标题
.setContentTitle(info.getTitle())
// 设置通知的内容
.setContentText(content)
// 设置使用系统默认的声音、LED
.setDefaults(
Notification.DEFAULT_LIGHTS
| Notification.DEFAULT_SOUND)
// 设置通知发布时间
.setWhen(System.currentTimeMillis())
// 设置将要启动的活动
.setContentIntent(pi)
.build();
if (notificationManager != null) {
notificationManager.notify(0, builder.build());
}
}
// BadgeNumberManager.from(mContext).setBadgeNumber(messages.size());
// BadgeNumberUtils.setBadgeNumberXiaoMi(notification,messages.size());
......
......@@ -58,4 +58,8 @@ public abstract class DataBindingActivity<B extends ViewDataBinding> extends App
public abstract void initView();
@Override
protected void onDestroy() {
super.onDestroy();
}
}
package com.dayu.utils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import java.util.Map;
/**
* Created by luofan
* on 2018/5/4.
*/
public class GsonUtils {
public static Map<String, String> parseData(String data) {
GsonBuilder gb = new GsonBuilder();
Gson g = gb.create();
Map<String, String> map = g.fromJson(data, new TypeToken<Map<String, String>>() {
}.getType());
return map;
}
}
......@@ -4,6 +4,9 @@ import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.dayu.baselibrary.R;
......@@ -13,24 +16,50 @@ import com.dayu.baselibrary.R;
*/
public class LicenceDialog extends Dialog {
private onClickListener mListener;
private String mContent;
public LicenceDialog(@NonNull Context context) {
super(context);
}
public LicenceDialog(@NonNull Context context, int themeResId) {
public LicenceDialog(@NonNull Context context, int themeResId, String content) {
super(context, themeResId);
mContent = content;
}
public LicenceDialog(@NonNull Context context, String content) {
super(context);
mContent = content;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_custom);
setContentView(R.layout.dialog_licence);
setCanceledOnTouchOutside(false);
setCancelable(false);
initView();
}
public void initView() {
ImageView close = findViewById(R.id.iv_close);
TextView check = findViewById(R.id.tv_check);
TextView content = findViewById(R.id.tv_content);
content.setText(mContent);
close.setOnClickListener(view -> dismiss());
check.setOnClickListener(view -> {
if (mListener != null) {
mListener.onClick(view);
}
});
}
public void setOnclickListener(onClickListener listener) {
mListener = listener;
}
public interface onClickListener {
void onClick(View view);
}
}

37.3 KB | W: | H:

36.2 KB | W: | H:

baseSDK/src/main/res/drawable-hdpi/icon_licence.png
baseSDK/src/main/res/drawable-hdpi/icon_licence.png
baseSDK/src/main/res/drawable-hdpi/icon_licence.png
baseSDK/src/main/res/drawable-hdpi/icon_licence.png
  • 2-up
  • Swipe
  • Onion skin

57.6 KB | W: | H:

56 KB | W: | H:

baseSDK/src/main/res/drawable-xhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xhdpi/icon_licence.png
  • 2-up
  • Swipe
  • Onion skin

109 KB | W: | H:

106 KB | W: | H:

baseSDK/src/main/res/drawable-xxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxhdpi/icon_licence.png
  • 2-up
  • Swipe
  • Onion skin

176 KB | W: | H:

172 KB | W: | H:

baseSDK/src/main/res/drawable-xxxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxxhdpi/icon_licence.png
baseSDK/src/main/res/drawable-xxxhdpi/icon_licence.png
  • 2-up
  • Swipe
  • Onion skin
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="270dp"
android:layout_height="match_parent"
android:layout_gravity="center">
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/iv_header"
<RelativeLayout
android:background="@color/white"
android:id="@+id/rl_content"
android:layout_width="270dp"
android:layout_height="111dp"
android:src="@drawable/icon_licence" />
android:layout_height="300dp"
android:layout_gravity="center">
<ImageView
android:id="@+id/iv_header"
android:layout_width="270dp"
android:layout_height="111dp"
android:src="@drawable/icon_licence" />
<TextView
android:id="@+id/tv_congratulation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_header"
android:layout_centerHorizontal="true"
android:layout_marginBottom="12sp"
android:text="恭喜您!"
android:textColor="@color/default_text_color"
android:textSize="20sp" />
<TextView
android:id="@+id/tv_attain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_congratulation"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15sp"
android:text="获得资质"
android:textColor="@color/default_editext_color"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_attain"
android:layout_centerHorizontal="true"
android:layout_marginBottom="12sp"
android:maxEms="10"
android:maxLines="1"
android:text="智能门锁初级工程师"
android:textColor="@color/default_text_color"
android:textSize="22sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_check"
android:layout_width="231dp"
android:layout_height="42dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="@dimen/dp_20"
android:background="@drawable/btn_common_selector"
android:gravity="center"
android:text="前往查看"
android:textColor="@color/white"
android:textSize="14sp" />
</RelativeLayout>
<ImageView
android:id="@+id/iv_close"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_header"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15sp"
android:text="恭喜您!"
android:textColor="@color/default_text_color"
android:textSize="22sp" />
</RelativeLayout>
\ No newline at end of file
android:layout_gravity="center"
android:paddingTop="25dp"
android:src="@drawable/icon_close" />
</LinearLayout>
\ No newline at end of file
......@@ -100,13 +100,13 @@
<item name="android:windowIsTranslucent">true</item>
<!-- 是否半透明 -->
<item name="android:windowNoTitle">true</item>
<item name="android:background">@null</item>
<!--<item name="android:background">@null</item>-->
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<!-- 去除黑色边框的关键设置项 -->
<item name="android:backgroundDimEnabled">true</item>
<!-- 屏幕背景是否变暗 -->
<item name="android:backgroundDimAmount">0.3</item>
<item name="android:backgroundDimAmount">0.5</item>
</style>
<declare-styleable name="CircleImageView">
......
......@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "27.0.2"
ext.min_sdk_version = 16
ext.target_sdk_version = 23
ext.version_code = 8
ext.verson_name = "1.4.0"
ext.version_code = 9
ext.verson_name = "1.5.0"
ext.gradle_version = '3.0.1'
ext.isReleaseMinify = true
ext.isDebugMinify = true
......
......@@ -12,10 +12,8 @@ import com.dayu.message.data.protocol.NewMessage;
import com.dayu.message.databinding.ActivityMessageDetailBinding;
import com.dayu.provider.common.ProviderConstant;
import com.dayu.provider.router.RouterPath;
import com.dayu.utils.GsonUtils;
import com.dayu.utils.UtilsDate;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.umeng.analytics.MobclickAgent;
import java.text.ParseException;
......@@ -72,7 +70,7 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
}
private void dumpDetail() {
Map<String, String> map = parseData(message.getCustomJson());
Map<String, String> map = GsonUtils.parseData(message.getCustomJson());
int id = 0;
if (!TextUtils.isEmpty(map.get("orderId"))) {
id = Integer.parseInt(map.get("orderId"));
......@@ -84,12 +82,4 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
.navigation();
MobclickAgent.onEvent(mActivity, "message_check_order");
}
private static Map<String, String> parseData(String data) {
GsonBuilder gb = new GsonBuilder();
Gson g = gb.create();
Map<String, String> map = g.fromJson(data, new TypeToken<Map<String, String>>() {
}.getType());
return map;
}
}
......@@ -11,6 +11,7 @@ import com.dayu.usercenter.R;
import com.dayu.usercenter.api.UserApiFactory;
import com.dayu.usercenter.ui.activity.AgreementActivity;
import com.dayu.usercenter.ui.activity.PersonInfoActivity;
import com.dayu.utils.LogUtils;
import com.dayu.utils.ToastUtils;
import com.dayu.utils.UserManager;
import com.dayu.utils.UtilsUserAccountMatcher;
......@@ -97,6 +98,7 @@ public class LoginPresenter extends LoginContract.Presenter {
@Override
public void onError(int code, String message) {
LogUtils.d(code + message);
}
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment