Commit 54546307 authored by jianglx's avatar jianglx

会员模块,城市数据的更新

parent 588a279e
......@@ -53,8 +53,8 @@ dependencies {
api project(path: ':Utils')
//鲁班图片压缩 https://github.com/Curzibn/Luban
api 'top.zibin:Luban:1.1.8'
//权限申请 https://github.com/googlesamples/easypermissions
api 'pub.devrel:easypermissions:2.0.0'
// //权限申请 https://github.com/googlesamples/easypermissions
// api 'pub.devrel:easypermissions:2.0.0'
//Glide
api "com.github.bumptech.glide:glide:$rootProject.ext.glideVersion"
......
package com.xxfc.rv;
import android.Manifest;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.Notification;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
......@@ -21,10 +18,8 @@ import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
......@@ -58,16 +53,11 @@ import com.rv.component.utils.LogUtil;
import com.rv.component.utils.RvCache;
import com.rv.home.rv.module.ApiConfig;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.LoginRvActivity;
import com.rv.home.rv.module.ui.main.home.HomeFragment;
import com.rv.home.rv.module.ui.main.home.bean.EffectiveTimeBean;
import com.rv.im.Constants;
import com.rv.im.ImService;
import com.rv.im.ImSetting;
import com.rv.im.broadcast.RemoteReceiver;
import com.rv.im.call.AudioOrVideoController;
import com.rv.im.mvp.view.IChatView;
import com.rv.im.util.Md5Util;
import com.rv.rvmine.MineFragment;
import com.rv.share.WebViewActivity;
import com.rv.share.view.PromotionDialog;
......@@ -75,7 +65,6 @@ import com.rv.tourism.R2;
import com.rv.tourism.TourismFragment;
import com.rv.version.bean.VersionCheckBean;
import com.rv.version.receiver.UpdateAppReceiver;
import com.rv.version.util.DownloadAppUtils;
import com.rv.version.util.UpdateAppUtils;
import com.xxfc.discovery.DiscoveryFragment;
import com.xxfc.discovery.api.DiscoveryApi;
......@@ -95,13 +84,10 @@ import java.util.Map;
import butterknife.BindView;
import butterknife.OnClick;
import cn.jpush.android.api.BasicPushNotificationBuilder;
import cn.jpush.android.api.CustomPushNotificationBuilder;
import cn.jpush.android.api.JPushInterface;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;
public class MainActivity extends BaseActivity<CommonPresenter> implements EasyPermissions.PermissionCallbacks {
public class MainActivity extends BaseActivity<CommonPresenter>{
private static final String TAG = MainActivity.class.getSimpleName();
......@@ -149,8 +135,8 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements EasyP
private String imPassword;
private String[] permissions = new String[]{android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.WRITE_EXTERNAL_STORAGE, android.Manifest.permission.READ_EXTERNAL_STORAGE,
android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO, Manifest.permission.CALL_PHONE};
private String[] permissions = new String[]{android.Manifest.permission.READ_PHONE_STATE,
android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CALL_PHONE};
public static Intent getIntent(Context context) {
return new Intent(context, MainActivity.class);
......@@ -167,18 +153,8 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements EasyP
StatusBarUtil.setRootViewFitsSystemWindows(mActivity, false);
AudioOrVideoController.init(getApplicationContext(), logoutListener);
EventBus.getDefault().register(this);
checkPermissions();
}
/********
* 检查所有的权限
*/
private void checkPermissions() {
if (!EasyPermissions.hasPermissions(this, permissions)) {
EasyPermissions.requestPermissions(this, "App正常使用,需要以下权限", IChatView.REQUEST_PERMISSION_FILE, permissions);
return;
}
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
......@@ -450,29 +426,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements EasyP
} else {
Toast.makeText(getApplicationContext(), "授权失败,无法下载最新App", Toast.LENGTH_SHORT).show();
}
} else {
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
}
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
Log.d(TAG, "授权成功");
}
@Override
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
Toast.makeText(this, "用户授权失败", Toast.LENGTH_SHORT).show();
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).
setTitle("需要权限")
.setRationale("如果没有这些权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限")
.build().show();
}
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
......
......@@ -71,8 +71,8 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
if (appConfig == null) {
if (!NetworkUtil.isNetworkAvailable(getApplicationContext())) {
Toast.makeText(getApplicationContext(), "网络异常,im初始化失败,请退出重进", Toast.LENGTH_SHORT).show();
}
return;
}
} else {
isImInitOk = true;
}
......
This diff is collapsed.
package com.ruiwenliu.wrapper.base;
import android.os.Bundle;
import com.ruiwenliu.wrapper.presenter.MvpPresenter;
public abstract class BaseLazyFragment<P extends MvpPresenter> extends BaseFragment<P> {
@Override
public int getViewLayout() {
return 0;
}
@Override
protected void initView(Bundle savedInstanceState) {
}
@Override
protected void loadData(Bundle savedInstanceState) {
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
}
......@@ -34,6 +34,8 @@ public class UserInfoBean extends BaseBean implements Serializable {
private String icon ;
private String bigIcon ;
//用户id
private Integer userid;
//imid
......@@ -291,5 +293,13 @@ public class UserInfoBean extends BaseBean implements Serializable {
public void setPositionName(String positionName) {
this.positionName = positionName;
}
public String getBigIcon() {
return bigIcon;
}
public void setBigIcon(String bigIcon) {
this.bigIcon = bigIcon;
}
}
}
This diff is collapsed.
......@@ -54,8 +54,6 @@ dependencies {
implementation 'top.zibin:Luban:1.1.3'
implementation project(':plugin_member')
api project(':plugin_version')
//动态权限申请库
implementation 'pub.devrel:easypermissions:1.3.0'
implementation 'com.alibaba:fastjson:1.2.21'
api project(':plugin_share')
api project(':plugin_coupon')
......
package com.rv.rvmine.personal;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.text.TextUtils;
......@@ -21,6 +23,7 @@ import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.rv.home.rv.module.ApiConfig;
import com.rv.component.dialog.PickerDialog;
import com.rv.home.rv.module.ui.main.home.bean.ImageUploadBean;
......@@ -41,11 +44,10 @@ import java.util.Map;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import io.reactivex.functions.Consumer;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;
import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;
......@@ -53,7 +55,7 @@ import top.zibin.luban.OnCompressListener;
* 实名认证
*/
@Route(path = Constance.ACTIVITY_URL_IDCARDCERTIFICATION)
public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresenter> implements EasyPermissions.PermissionCallbacks {
public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresenter> {
@BindView(R2.id.et_name)
EditText etName;
......@@ -235,56 +237,33 @@ public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresen
}.show();
}
/**
* 打开相机和相册
*
* @param type 1、相机2、相册
* <p>
* 此处方法不奏效
*/
// @SuppressLint("CheckResult")
// private void processPicker(final int type) {
// /**
// * 6.0以上手机做权限处理
// */
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// new RxPermission(mActivity).request(
// new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
// Manifest.permission.CAMERA}).subscribe(new Consumer<Boolean>() {
// @Override
// public void accept(Boolean aBoolean) throws Exception {
// if (aBoolean == true) {
// switch (type) {
// case 1001:
// mPresenter.openCamera(false);
// break;
// case 1002:
// mPresenter.openAlbum(false);
// break;
// }
//
// }
// }
// });
// } else {
// switch (type) {
// case 1001:
// mPresenter.openCamera(false);
// break;
// case 1002:
// mPresenter.openAlbum(false);
// break;
// }
// }
// }
private String[] cameraPermissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE};
@SuppressLint("CheckResult")
private void processPicker() {
if (!EasyPermissions.hasPermissions(this, cameraPermissions)) {
EasyPermissions.requestPermissions(this, "拍照需要此权限,否则无法正常使用", 1, cameraPermissions);
return;
/**
* 6.0以上手机做权限处理
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
new RxPermission(mActivity).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA).subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean == true) {
switch (typeCamera) {
case 1001:
mPresenter.openCamera(false);
break;
case 1002:
mPresenter.openAlbum(false);
break;
}
} else {
Toast.makeText(getApplicationContext(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
}
});
} else {
switch (typeCamera) {
case 1001:
mPresenter.openCamera(false);
......@@ -295,10 +274,6 @@ public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresen
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
/**
......@@ -351,23 +326,6 @@ public class IDCardCertificationActivity extends BaseStatusActivity<PickerPresen
return headMap;
}
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
processPicker();
}
@Override
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
Toast.makeText(this, "用户授权失败", Toast.LENGTH_SHORT).show();
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).
setTitle("需要权限")
.setRationale("如果没有这些权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限")
.build().show();
}
}
private class Verified {
private String name;
private String idNumber;
......
......@@ -63,7 +63,6 @@ dependencies {
implementation "com.google.code.gson:gson:$rootProject.ext.gsonVersion"
implementation 'cc.aoeiuv020:imaging:1.0'
implementation 'com.android.support:design:28.0.0'
implementation 'pub.devrel:easypermissions:1.3.0'
implementation 'top.zibin:Luban:1.1.3'
// 定制的jitsi,
api files('libs/jitsi-meet-sdk-1.16.0-2.aar')
......
......@@ -4,6 +4,7 @@ import android.Manifest;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.NonNull;
......@@ -29,6 +30,7 @@ import android.widget.Toast;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.base.presenter.CommonPresenter;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.im.adapter.ChatContentAdapter;
import com.rv.im.audio.IMRecordController;
......@@ -55,10 +57,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.List;
import pub.devrel.easypermissions.AppSettingsDialog;
import pub.devrel.easypermissions.EasyPermissions;
public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements EasyPermissions.PermissionCallbacks, IChatView, ChatMessageListener, View.OnClickListener, RecordListener {
public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements IChatView, ChatMessageListener, View.OnClickListener, RecordListener {
private ImageButton voiceImgBtn;
private ImageButton ibKeyword;
......@@ -84,9 +83,6 @@ public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements
private int startPosition;
private int endPosition;
private String[] recordPermissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO, Manifest.permission.READ_EXTERNAL_STORAGE};
private String[] callPermissions = {Manifest.permission.RECORD_AUDIO, Manifest.permission.CALL_PHONE, Manifest.permission.CAMERA};
private ChatContentAdapter.OnClickItemListener clickItemListener = new ChatContentAdapter.OnClickItemListener() {
@Override
public void onClick(int resId, ChatMessage message) {
......@@ -320,17 +316,34 @@ public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements
isCamera = true;
presenter.clickPicPicker(isCamera);
} else if (id == R.id.voice_img_btn) {
// 判断是否有录音与储存读写的权限
if (!EasyPermissions.hasPermissions(getApplicationContext(), recordPermissions)) {
EasyPermissions.requestPermissions(ChatActivity.this, "录音需要此权限,否则无法正常使用", REQUEST_PERMISSION_AUDIO, recordPermissions);
return;
/**
* 6.0以上手机做权限处理
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission(mActivity).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(aBoolean -> {
if (aBoolean == true) {
changeChatFaceView(false);
chatEdit.setVisibility(View.GONE);
recordBtn.setVisibility(View.VISIBLE);
ibKeyword.setVisibility(View.VISIBLE);
voiceImgBtn.setVisibility(View.GONE);
closeKeyboard();
} else {
Toast.makeText(getApplicationContext(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
});
} else {
changeChatFaceView(false);
chatEdit.setVisibility(View.GONE);
recordBtn.setVisibility(View.VISIBLE);
ibKeyword.setVisibility(View.VISIBLE);
voiceImgBtn.setVisibility(View.GONE);
closeKeyboard();
}
} else if (id == R.id.ib_keyword) {
changeChatFaceView(false);
chatEdit.setVisibility(View.VISIBLE);
......@@ -342,18 +355,37 @@ public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements
presenter.clickFile();
} else if (id == R.id.tv_vilte) {
callType = 1;
if (!EasyPermissions.hasPermissions(getApplicationContext(), callPermissions)) {
EasyPermissions.requestPermissions(ChatActivity.this, "通话需要此权限,否则无法正常使用", REQUEST_PERMISSION_CALL, recordPermissions);
return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission(mActivity).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(aBoolean -> {
if (aBoolean == true) {
presenter.realDial(callType, null);
} else {
Toast.makeText(getApplicationContext(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
});
} else {
presenter.realDial(callType, null);
}
} else if (id == R.id.tv_video) {
callType = 2;
if (!EasyPermissions.hasPermissions(getApplicationContext(), callPermissions)) {
EasyPermissions.requestPermissions(ChatActivity.this, "通话需要此权限,否则无法正常使用", REQUEST_PERMISSION_CALL, recordPermissions);
return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission(mActivity).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(aBoolean -> {
if (aBoolean == true) {
presenter.realDial(callType, null);
} else {
Toast.makeText(getApplicationContext(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
});
} else {
presenter.realDial(callType, null);
}
} else if (id == R.id.emotion_btn) {
if (isFaceShown()) {// 表情布局在显示,那么点击则是隐藏表情,显示键盘
// showKeyboard();
......@@ -462,40 +494,6 @@ public class ChatActivity extends BaseStatusActivity<CommonPresenter> implements
private boolean isCamera = false;
private InputMethodManager mInputManager;
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
@Override
public void onPermissionsGranted(int requestCode, @NonNull List<String> perms) {
if (requestCode == REQUEST_PERMISSION_PHOTO) {
presenter.clickPicPicker(isCamera);
} else if (requestCode == REQUEST_PERMISSION_AUDIO) {
chatEdit.setVisibility(View.GONE);
recordBtn.setVisibility(View.VISIBLE);
ibKeyword.setVisibility(View.VISIBLE);
voiceImgBtn.setVisibility(View.GONE);
} else if (requestCode == REQUEST_PERMISSION_FILE) {
presenter.clickFile();
} else if (requestCode == REQUEST_PERMISSION_CALL) {
presenter.realDial(callType, null);
}
}
@Override
public void onPermissionsDenied(int requestCode, @NonNull List<String> perms) {
Toast.makeText(this, "用户授权失败", Toast.LENGTH_SHORT).show();
if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
new AppSettingsDialog.Builder(this).
setTitle("需要权限")
.setRationale("如果没有这些权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限")
.build().show();
}
}
@Override
public void onDestroy() {
super.onDestroy();
......
package com.rv.im;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.widget.LinearLayout;
import android.widget.Toast;
......@@ -20,21 +16,17 @@ import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshView;
import com.rv.im.adapter.CustomerListAdapter;
import com.rv.im.bean.CustomersBean;
import com.rv.im.db.service.ChatConversationServiceImp;
import com.rv.im.db.service.ChatMessageServiceImp;
import com.rv.im.db.service.CustomerServiceImp;
import com.rv.im.db.service.ICustomerService;
import com.rv.im.db.table.ChatConversation;
import com.rv.im.db.table.ChatMessage;
import com.rv.im.db.table.Customer;
import com.rv.im.util.ServiceUtils;
import com.rv.im.xmpp.ListenerManager;
import com.rv.im.xmpp.listener.AuthStateListener;
import com.rv.im.xmpp.listener.ChatMessageListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class CustomerListActivity extends BaseStatusActivity<CommonPresenter> implements SimpleRefreshLayout.OnSimpleRefreshListener, ChatMessageListener {
......
package com.rv.im.mvp.presenter;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
......@@ -11,7 +12,9 @@ import android.provider.MediaStore;
import android.support.v4.content.FileProvider;
import android.text.TextUtils;
import android.util.Log;
import android.widget.Toast;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.rv.im.Constants;
import com.rv.im.ImSetting;
import com.rv.im.call.Jitsi_pre;
......@@ -34,7 +37,6 @@ import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import pub.devrel.easypermissions.EasyPermissions;
import top.zibin.luban.Luban;
import top.zibin.luban.OnCompressListener;
......@@ -79,18 +81,33 @@ public class ChatPresenterImp implements IChatPresenter {
sendMessage(message);
}
@SuppressLint("CheckResult")
@Override
public void clickPicPicker(boolean isCamera) {
if (!EasyPermissions.hasPermissions(weakReference.get(), cameraPermissions)) {
EasyPermissions.requestPermissions((Activity) weakReference.get(), "拍照需要此权限,否则无法正常使用", IChatView.REQUEST_PERMISSION_PHOTO, cameraPermissions);
return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission((Activity) weakReference.get()).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA,
Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(aBoolean -> {
if (aBoolean == true) {
if (isCamera) {
clickCamera();
} else {
openAlbum();
}
} else {
Toast.makeText(weakReference.get(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
});
} else {
if (isCamera) {
clickCamera();
} else {
openAlbum();
}
}
}
@Override
public void openAlbum() {
......@@ -167,7 +184,7 @@ public class ChatPresenterImp implements IChatPresenter {
if (!TextUtils.isEmpty(meetUrl)) {
intent.putExtra("meetUrl", meetUrl);
}
((Activity) weakReference.get()).startActivity(intent);
weakReference.get().startActivity(intent);
}
private void sendMessage(ChatMessage message) {
......@@ -307,16 +324,25 @@ public class ChatPresenterImp implements IChatPresenter {
sendMessage(message);
}
@SuppressLint("CheckResult")
@Override
public void clickFile() {
if (!EasyPermissions.hasPermissions(weakReference.get(), cameraPermissions)) {
EasyPermissions.requestPermissions((Activity) weakReference.get(), "拍照需要此权限,否则无法正常使用", IChatView.REQUEST_PERMISSION_FILE, choiceFilePermissions);
return;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission((Activity) weakReference.get()).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE).subscribe(aBoolean -> {
if (aBoolean == true) {
showFileChoiceDialog();
} else {
Toast.makeText(weakReference.get(), "用户授权失败", Toast.LENGTH_SHORT).show();
}
});
} else {
showFileChoiceDialog();
}
}
private void showFileChoiceDialog() {
SelectFileDialog dialog = new SelectFileDialog(weakReference.get(), new SelectFileDialog.OptionFileListener() {
@Override
public void option(List<File> files) {
......
......@@ -84,8 +84,8 @@ public class LoginView extends LinearLayout {
SpannableStringBuilder bugBuilder = new SpannableStringBuilder(info.getBuyCount() + "\n 购买记录 (次)") ;
bugBuilder.setSpan(new TextAppearanceSpan(null, Typeface.NORMAL, DisplayUtil.sp2px(getContext(), 18), null, null), 0, String.valueOf(info.getBuyCount()).length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
tvPurchaseRecord.setText(bugBuilder);
if (!TextUtils.isEmpty(info.getIcon()))
GlideManager.getInstance(getContext()).loadImage(info.getIcon(), ivMemberLevel);
if (!TextUtils.isEmpty(info.getBigIcon()))
GlideManager.getInstance(getContext()).loadImage(info.getBigIcon(), ivMemberLevel);
}
}
}
......
......@@ -36,7 +36,7 @@
android:layout_width="@dimen/size_60"
android:layout_height="@dimen/size_60"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/dp_40" />
android:layout_marginRight="@dimen/size_30" />
</RelativeLayout>
......
......@@ -71,16 +71,17 @@
android:layout_marginLeft="@dimen/size_20"
android:layout_marginRight="@dimen/size_20"
android:textColor="#666666"
android:layout_marginBottom="13dp"
android:textSize="@dimen/dp_10" />
<Button
android:visibility="gone"
android:id="@+id/btn_buy"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_marginLeft="@dimen/size_20"
android:layout_marginTop="13dp"
android:layout_marginRight="@dimen/size_20"
android:layout_marginBottom="13dp"
android:background="@drawable/shape_rv_bg_dark_yellow"
android:gravity="center"
android:textColor="@color/white"
......
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 to comment