Commit 831aeac7 by wukun

1.androidx

2,相机相册相关
parent c55e6d9e
Showing with 765 additions and 325 deletions
...@@ -300,6 +300,13 @@ public static final int *; ...@@ -300,6 +300,13 @@ public static final int *;
#ijkplayer #ijkplayer
-keep class tv.danmaku.ijk.media.** {*;} -keep class tv.danmaku.ijk.media.** {*;}
#pictureSelecter
-keep class com.luck.picture.lib.** { *; }
-keep class com.luck.lib.camerax.** { *; }
-dontwarn com.yalantis.ucrop**
-keep class com.yalantis.ucrop** { *; }
-keep interface com.yalantis.ucrop** { *; }
......
...@@ -45,6 +45,30 @@ ...@@ -45,6 +45,30 @@
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<!--适配Android R包可见性 开始-->
<queries package="${applicationId}">
<intent>
<action android:name="android.media.action.IMAGE_CAPTURE">
</action>
</intent>
<intent>
<action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
</action>
</intent>
</queries>
<!--适配Android R包可见性 结束-->
<application <application
android:name=".MyApplication" android:name=".MyApplication"
android:allowBackup="true" android:allowBackup="true"
...@@ -54,10 +78,13 @@ ...@@ -54,10 +78,13 @@
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
android:resizeableActivity="false" android:resizeableActivity="false"
tools:ignore="GoogleAppIndexingWarning" tools:ignore="GoogleAppIndexingWarning"
android:requestLegacyExternalStorage="true"
tools:replace="android:label,icon,theme,allowBackup"> tools:replace="android:label,icon,theme,allowBackup">
<provider <provider
android:name="android.support.v4.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="com.dayu.bigfish.fileProvider" android:authorities="com.dayu.bigfish.fileProvider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true"> android:grantUriPermissions="true">
......
...@@ -6,9 +6,10 @@ import android.content.Intent; ...@@ -6,9 +6,10 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.NonNull;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import com.dayu.base.ui.activity.DataBindingActivity; import com.dayu.base.ui.activity.DataBindingActivity;
import com.dayu.bigfish.databinding.ActivityInitializeMainBinding; import com.dayu.bigfish.databinding.ActivityInitializeMainBinding;
import com.dayu.bigfish.ui.MainActivity; import com.dayu.bigfish.ui.MainActivity;
......
...@@ -9,14 +9,12 @@ import android.net.ConnectivityManager; ...@@ -9,14 +9,12 @@ import android.net.ConnectivityManager;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Build; import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.support.annotation.NonNull;
import android.util.Log; import androidx.annotation.NonNull;
import com.dayu.bigfish.ui.service.LocationService; import com.dayu.bigfish.ui.service.LocationService;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
import com.dayu.event.AppReturnFrontEvent; import com.dayu.event.AppReturnFrontEvent;
import com.dayu.livemodule.LiveUtils;
import com.dayu.location.base.LocationUtils;
import com.dayu.order.greendao.GreenDaoManager; import com.dayu.order.greendao.GreenDaoManager;
import com.dayu.utils.NetworkConnectChangedReceiver; import com.dayu.utils.NetworkConnectChangedReceiver;
import com.dayu.utils.SPUtils; import com.dayu.utils.SPUtils;
......
package com.dayu.bigfish; package com.dayu.bigfish;
import android.support.v4.content.FileProvider;
import androidx.core.content.FileProvider;
public class MyProvider extends FileProvider { public class MyProvider extends FileProvider {
} }
...@@ -2,7 +2,8 @@ package com.dayu.bigfish; ...@@ -2,7 +2,8 @@ package com.dayu.bigfish;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatActivity;
public class SplashActivity extends AppCompatActivity { public class SplashActivity extends AppCompatActivity {
......
...@@ -11,15 +11,16 @@ import android.os.Bundle; ...@@ -11,15 +11,16 @@ import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
import android.os.Handler; import android.os.Handler;
import android.provider.Settings; import android.provider.Settings;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.NotificationCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.core.app.NotificationCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.amap.api.location.AMapLocation; import com.amap.api.location.AMapLocation;
......
package com.dayu.bigfish.ui; package com.dayu.bigfish.ui;
import android.content.Intent; import android.content.Intent;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.Gravity; import android.view.Gravity;
import android.view.KeyEvent; import android.view.KeyEvent;
import android.view.View; import android.view.View;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.ui.activity.BaseActivity; import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
......
...@@ -4,9 +4,10 @@ import android.app.NotificationChannel; ...@@ -4,9 +4,10 @@ import android.app.NotificationChannel;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.os.Environment; import android.os.Environment;
import android.support.v4.app.NotificationCompat;
import android.view.View; import android.view.View;
import androidx.core.app.NotificationCompat;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.DownloadService; import com.dayu.base.api.DownloadService;
......
...@@ -9,7 +9,8 @@ import android.os.Build; ...@@ -9,7 +9,8 @@ import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.os.Message; import android.os.Message;
import android.support.annotation.Nullable;
import androidx.annotation.Nullable;
import com.dayu.bigfish.api.ApiFactory; import com.dayu.bigfish.api.ApiFactory;
import com.dayu.common.Constants; import com.dayu.common.Constants;
......
...@@ -3,13 +3,14 @@ package com.dayu.bigfish.ui.views; ...@@ -3,13 +3,14 @@ package com.dayu.bigfish.ui.views;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
/** /**
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/transparent"> android:background="@color/transparent">
<android.support.v4.view.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/vp_initial" android:id="@+id/vp_initial"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
android:id="@+id/tv_title" android:id="@+id/tv_title"
android:text="注销账号" android:text="注销账号"
style="@style/toolbar_title" /> style="@style/toolbar_title" />
</android.support.v7.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
<TextView <TextView
android:id="@+id/tv_title" android:id="@+id/tv_title"
style="@style/toolbar_title" /> style="@style/toolbar_title" />
</android.support.v7.widget.Toolbar> </androidx.appcompat.widget.Toolbar>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -46,7 +46,7 @@ dependencies { ...@@ -46,7 +46,7 @@ dependencies {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
}) })
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
api 'com.android.support:design:27.1.1' api 'com.google.android.material:material:1.2.0-alpha06'
//mutidex //mutidex
api 'com.android.support:multidex:1.0.3' api 'com.android.support:multidex:1.0.3'
//eventBus //eventBus
...@@ -57,7 +57,10 @@ dependencies { ...@@ -57,7 +57,10 @@ dependencies {
api 'com.squareup.retrofit2:adapter-rxjava2:2.8.1' api 'com.squareup.retrofit2:adapter-rxjava2:2.8.1'
//图片选择 //图片选择
// api 'com.github.LuckSiege.PictureSelector:picture_library:v2.1.5' // api 'com.github.LuckSiege.PictureSelector:picture_library:v2.1.5'
api 'io.github.lucksiege:pictureselector:v2.1.9' // api 'io.github.lucksiege:pictureselector:v2.1.9'
api 'io.github.lucksiege:pictureselector:v3.11.1'
// uCrop library (Not necessary)
api 'io.github.lucksiege:ucrop:v3.11.1'
//ARouter //ARouter
api "com.alibaba:arouter-api:$arouter_api_version" api "com.alibaba:arouter-api:$arouter_api_version"
//greendao数据库 //greendao数据库
...@@ -105,4 +108,7 @@ dependencies { ...@@ -105,4 +108,7 @@ dependencies {
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9'//微信官方依赖库,必选 implementation 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.7.9'//微信官方依赖库,必选
api project(':camera') api project(':camera')
api 'com.github.bumptech.glide:glide:4.5.0'
api 'io.reactivex.rxjava2:rxandroid:2.0.1'
} }
package com.dayu.base.api; package com.dayu.base.api;
import android.os.Build; import android.os.Build;
import android.support.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull;
import com.dayu.base.api.protocol.BaseResponse; import com.dayu.base.api.protocol.BaseResponse;
import com.dayu.common.BaseConstant; import com.dayu.common.BaseConstant;
import com.dayu.common.Constants; import com.dayu.common.Constants;
......
package com.dayu.base.api; package com.dayu.base.api;
import android.util.Log;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -44,7 +46,13 @@ public class BaseApiFactory { ...@@ -44,7 +46,13 @@ public class BaseApiFactory {
ArrayList<File> files = new ArrayList<>(); ArrayList<File> files = new ArrayList<>();
if (imageUrl != null && imageUrl.size() > 0) { if (imageUrl != null && imageUrl.size() > 0) {
for (int i = 0; i < imageUrl.size(); i++) { for (int i = 0; i < imageUrl.size(); i++) {
files.add(new File(imageUrl.get(i))); File file = new File(imageUrl.get(i));
if (file.exists()){
Log.e("TAG", "packPhoto: 存在");
}else{
Log.e("TAG", "packPhoto: 不存在");
}
files.add(file);
} }
} }
MultipartBody.Part[] part = new MultipartBody.Part[files.size()]; MultipartBody.Part[] part = new MultipartBody.Part[files.size()];
......
...@@ -4,7 +4,8 @@ import android.app.IntentService; ...@@ -4,7 +4,8 @@ import android.app.IntentService;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import androidx.core.app.NotificationCompat;
import com.dayu.utils.DownloadManager; import com.dayu.utils.DownloadManager;
import com.dayu.widgets.listener.onDownloadListener; import com.dayu.widgets.listener.onDownloadListener;
......
...@@ -4,10 +4,10 @@ import android.annotation.TargetApi; ...@@ -4,10 +4,10 @@ import android.annotation.TargetApi;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.app.NotificationCompat;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.core.app.NotificationCompat;
import androidx.databinding.ViewDataBinding; import androidx.databinding.ViewDataBinding;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
......
...@@ -7,12 +7,13 @@ import android.net.Uri; ...@@ -7,12 +7,13 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment; import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.Toast; import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.cjt2325.cameralibrary.JCameraView; import com.cjt2325.cameralibrary.JCameraView;
import com.cjt2325.cameralibrary.listener.ClickListener; import com.cjt2325.cameralibrary.listener.ClickListener;
import com.cjt2325.cameralibrary.listener.ErrorListener; import com.cjt2325.cameralibrary.listener.ErrorListener;
......
...@@ -4,9 +4,9 @@ import android.app.Activity; ...@@ -4,9 +4,9 @@ import android.app.Activity;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View; import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding; import androidx.databinding.ViewDataBinding;
......
...@@ -2,10 +2,11 @@ package com.dayu.base.ui.activity; ...@@ -2,10 +2,11 @@ package com.dayu.base.ui.activity;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.Constants; import com.dayu.common.Constants;
......
...@@ -3,14 +3,15 @@ package com.dayu.base.ui.activity; ...@@ -3,14 +3,15 @@ package com.dayu.base.ui.activity;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
...@@ -20,7 +21,7 @@ import com.github.chrisbanes.photoview.PhotoView; ...@@ -20,7 +21,7 @@ import com.github.chrisbanes.photoview.PhotoView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ImgGalleryActivty extends AppCompatActivity{ public class ImgGalleryActivty extends AppCompatActivity {
ArrayList<String> imgList; ArrayList<String> imgList;
int selectIndex; int selectIndex;
......
package com.dayu.base.ui.activity; package com.dayu.base.ui.activity;
import android.content.Context; import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.viewpager.widget.PagerAdapter;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.baselibrary.databinding.AcitivityPreviewBinding; import com.dayu.baselibrary.databinding.AcitivityPreviewBinding;
import com.dayu.common.Constants; import com.dayu.common.Constants;
......
package com.dayu.base.ui.activity; package com.dayu.base.ui.activity;
import android.content.Context; import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.viewpager.widget.PagerAdapter;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.baselibrary.databinding.AcitivityPreviewBinding; import com.dayu.baselibrary.databinding.AcitivityPreviewBinding;
import com.dayu.common.Constants; import com.dayu.common.Constants;
......
package com.dayu.base.ui.adapter; package com.dayu.base.ui.adapter;
import android.support.v7.widget.RecyclerView;
import androidx.databinding.ViewDataBinding; import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.RecyclerView;
/** /**
* Created by luofan on 2017/12/9. * Created by luofan on 2017/12/9.
......
...@@ -2,13 +2,13 @@ package com.dayu.base.ui.adapter; ...@@ -2,13 +2,13 @@ package com.dayu.base.ui.adapter;
import android.animation.ObjectAnimator; import android.animation.ObjectAnimator;
import android.content.Context; import android.content.Context;
import android.support.annotation.LayoutRes;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.LayoutRes;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.ui.presenter.BaseListPresenter; import com.dayu.base.ui.presenter.BaseListPresenter;
......
package com.dayu.base.ui.adapter; package com.dayu.base.ui.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import java.util.List; import java.util.List;
/** /**
......
package com.dayu.base.ui.adapter; package com.dayu.base.ui.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager; import androidx.fragment.app.Fragment;
import android.support.v4.app.FragmentStatePagerAdapter; import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import java.util.List; import java.util.List;
......
...@@ -5,26 +5,29 @@ import android.annotation.SuppressLint; ...@@ -5,26 +5,29 @@ import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Environment; import android.os.Environment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.base.ui.activity.ImgGalleryActivty; import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.base.ui.activity.VideoPreviewActivty; import com.dayu.base.ui.activity.VideoPreviewActivty;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.utils.GlideEngine;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.MPermissionUtils; import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.UtilsScreen; import com.dayu.utils.UtilsScreen;
import com.dayu.widgets.listener.OnItemClickListener; import com.dayu.widgets.listener.OnItemClickListener;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -35,7 +38,7 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter. ...@@ -35,7 +38,7 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter.
private Activity context; private Activity context;
private ArrayList<String> list = new ArrayList<>(); private ArrayList<String> list = new ArrayList<>();
private int maxCount = 1; private int maxCount = 1;
private int mimeType = PictureMimeType.ofVideo(); private int mimeType = SelectMimeType.ofVideo();
private int videoLength = 30; private int videoLength = 30;
private int requestCode = PictureConfig.CHOOSE_REQUEST; private int requestCode = PictureConfig.CHOOSE_REQUEST;
private OnItemClickListener<MediaChooseAdapter.Holder, Integer> listener; private OnItemClickListener<MediaChooseAdapter.Holder, Integer> listener;
...@@ -215,23 +218,41 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter. ...@@ -215,23 +218,41 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter.
size = maxCount + 1 - list.size(); size = maxCount + 1 - list.size();
PictureSelectionModel selector = PictureSelector.create(context) PictureSelectionModel selector = PictureSelector.create(context)
.openGallery(mimeType)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(mimeType)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int .setImageEngine(GlideEngine.createGlideEngine())
.imageSpanCount(4)// 每行显示个数 int // .setCropEngine(new ImageFileCropEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE // .setFilterMaxFileSize(size)
.previewImage(true)// 是否可预览图片 true or false // .maxSelectNum(size)// 最大图片选择数量 int
.isCamera(showCamera)// 是否显示拍照按钮 true or false .setImageSpanCount(4)
.recordVideoSecond(videoLength) .setMaxSelectNum(size)
.videoMaxSecond(videoLength) // .imageSpanCount(4)// 每行显示个数 int
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true .setSelectionMode(SelectModeConfig.MULTIPLE);
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效 // .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填 // .isPreviewImage(true)
.compress(true)// 是否压缩 true or false // .previewImage(true)// 是否可预览图片 true or false
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度 // .isDisplayCamera(showCamera)
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false // .isCamera(showCamera)// 是否显示拍照按钮 true or false
.compressSavePath(getPath())//压缩图片保存地址 // .setRecordVideoMaxSecond(videoLength)
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false // .recordVideoSecond(videoLength)
.minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于100kb的图片不压缩 // .setFilterVideoMaxSecond(videoLength)
.synOrAsy(true);//同步true或异步false 压缩 默认同步、 // .videoMaxSecond(videoLength)
// .isSelectZoomAnim(true)
// .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
// .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraDir("/CustomPath");
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于100kb的图片不压缩
// .synOrAsy(true);//同步true或异步false 压缩 默认同步、
// .enableCrop(true)//是否裁剪 // .enableCrop(true)//是否裁剪
// .freeStyleCropEnabled(true) // .freeStyleCropEnabled(true)
selector.forResult(requestCode); selector.forResult(requestCode);
...@@ -247,7 +268,7 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter. ...@@ -247,7 +268,7 @@ public class MediaChooseAdapter extends RecyclerView.Adapter<MediaChooseAdapter.
} }
private void dumpPic(ArrayList<String> list, int position) { private void dumpPic(ArrayList<String> list, int position) {
if (mimeType == PictureMimeType.ofVideo()) { if (mimeType == SelectMimeType.ofVideo()) {
Intent intent = new Intent(context, VideoPreviewActivty.class); Intent intent = new Intent(context, VideoPreviewActivty.class);
intent.putStringArrayListExtra(Constants.BUNDLE_KEY_ID, list); intent.putStringArrayListExtra(Constants.BUNDLE_KEY_ID, list);
context.startActivity(intent); context.startActivity(intent);
......
...@@ -4,25 +4,28 @@ import android.Manifest; ...@@ -4,25 +4,28 @@ import android.Manifest;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.os.Environment; import android.os.Environment;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.base.ui.activity.ImgGalleryActivty; import com.dayu.base.ui.activity.ImgGalleryActivty;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.Constants; import com.dayu.utils.GlideEngine;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ImageFileCropEngine;
import com.dayu.utils.MPermissionUtils; import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.UtilsScreen; import com.dayu.utils.UtilsScreen;
import com.dayu.widgets.listener.OnItemClickListener; import com.dayu.widgets.listener.OnItemClickListener;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -156,24 +159,36 @@ public class PhotoViewAdapter extends RecyclerView.Adapter<PhotoViewAdapter.Hold ...@@ -156,24 +159,36 @@ public class PhotoViewAdapter extends RecyclerView.Adapter<PhotoViewAdapter.Hold
int size; int size;
size = maxCount+1 - list.size(); size = maxCount+1 - list.size();
PictureSelectionModel selector = PictureSelector.create(context) PictureSelectionModel selector = PictureSelector.create(context)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int .setImageEngine(GlideEngine.createGlideEngine())
.imageSpanCount(4)// 每行显示个数 int .setCropEngine(new ImageFileCropEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE // .setFilterMaxFileSize(size)
.previewImage(true)// 是否可预览图片 true or false .setImageSpanCount(4)
.isCamera(true)// 是否显示拍照按钮 true or false .setSelectionMode(SelectModeConfig.MULTIPLE)
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true .isPreviewImage(true)
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效 .isDisplayCamera(true)
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填 .isSelectZoomAnim(true)
.compress(true)// 是否压缩 true or false .setOutputCameraDir("/CustomPath");
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false // PictureSelectionModel selector = PictureSelector.create(context)
.compressSavePath(getPath())//压缩图片保存地址 // .openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false // .maxSelectNum(size)// 最大图片选择数量 int
.minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于**kb的图片不压缩 // .imageSpanCount(4)// 每行显示个数 int
.synOrAsy(true);//同步true或异步false 压缩 默认同步、 // .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
// .enableCrop(true)//是否裁剪 // .previewImage(true)// 是否可预览图片 true or false
// .freeStyleCropEnabled(true) // .isCamera(true)// 是否显示拍照按钮 true or false
// .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
// .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于**kb的图片不压缩
// .synOrAsy(true);//同步true或异步false 压缩 默认同步、
//// .enableCrop(true)//是否裁剪
//// .freeStyleCropEnabled(true)
selector.forResult(PictureConfig.CHOOSE_REQUEST); selector.forResult(PictureConfig.CHOOSE_REQUEST);
} }
......
package com.dayu.base.ui.adapter; package com.dayu.base.ui.adapter;
import android.graphics.Rect; import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View; import android.view.View;
import androidx.recyclerview.widget.RecyclerView;
/** /**
* Created by luofan * Created by luofan
* on 2018/11/30. * on 2018/11/30.
......
...@@ -4,14 +4,14 @@ import android.app.Activity; ...@@ -4,14 +4,14 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import androidx.annotation.Nullable;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding; import androidx.databinding.ViewDataBinding;
import androidx.fragment.app.Fragment;
import com.dayu.utils.LogUtils; import com.dayu.utils.LogUtils;
......
...@@ -4,8 +4,9 @@ import android.app.Activity; ...@@ -4,8 +4,9 @@ import android.app.Activity;
import android.app.Application; import android.app.Application;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.multidex.MultiDex;
import android.support.multidex.MultiDexApplication; import androidx.multidex.MultiDex;
import androidx.multidex.MultiDexApplication;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.utils.AppManager; import com.dayu.utils.AppManager;
......
...@@ -2,7 +2,8 @@ package com.dayu.common; ...@@ -2,7 +2,8 @@ package com.dayu.common;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.StringRes;
import androidx.annotation.StringRes;
/** /**
* Created by luofan on 17/11/02. * Created by luofan on 17/11/02.
......
...@@ -10,9 +10,10 @@ import android.content.pm.PackageManager; ...@@ -10,9 +10,10 @@ import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.support.v4.content.FileProvider;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import androidx.core.content.FileProvider;
import com.cjt2325.cameralibrary.util.LogUtil; import com.cjt2325.cameralibrary.util.LogUtil;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
......
...@@ -10,7 +10,6 @@ import com.bumptech.glide.request.RequestOptions; ...@@ -10,7 +10,6 @@ import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.SimpleTarget; import com.bumptech.glide.request.target.SimpleTarget;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
import com.luck.picture.lib.tools.Constant;
import com.youth.banner.loader.ImageLoader; import com.youth.banner.loader.ImageLoader;
......
...@@ -50,8 +50,11 @@ public class CommonUtils { ...@@ -50,8 +50,11 @@ public class CommonUtils {
* @param activity * @param activity
*/ */
public static void hideSoftInput(Activity activity) { public static void hideSoftInput(Activity activity) {
((InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow View currentFocus = activity.getCurrentFocus();
(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); if (currentFocus != null){
InputMethodManager systemService = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
systemService.hideSoftInputFromWindow(currentFocus.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
} }
......
package com.dayu.utils;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.luck.picture.lib.engine.ImageEngine;
import com.luck.picture.lib.utils.ActivityCompatHelper;
/**
* @author:luck
* @date:2019-11-13 17:02
* @describe:Glide加载引擎
*/
public class GlideEngine implements ImageEngine {
/**
* 加载图片
*
* @param context 上下文
* @param url 资源url
* @param imageView 图片承载控件
*/
@Override
public void loadImage(Context context, String url, ImageView imageView) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context)
.load(url)
.into(imageView);
}
@Override
public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context)
.load(url)
// .override(maxWidth, maxHeight)
.into(imageView);
}
/**
* 加载相册目录封面
*
* @param context 上下文
* @param url 图片路径
* @param imageView 承载图片ImageView
*/
@Override
public void loadAlbumCover(Context context, String url, ImageView imageView) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context)
.asBitmap()
.load(url)
// .override(180, 180)
// .sizeMultiplier(0.5f)
// .transform(new CenterCrop(), new RoundedCorners(8))
// .placeholder(R.drawable.ps_image_placeholder)
.into(imageView);
}
/**
* 加载图片列表图片
*
* @param context 上下文
* @param url 图片路径
* @param imageView 承载图片ImageView
*/
@Override
public void loadGridImage(Context context, String url, ImageView imageView) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context)
.load(url)
// .override(200, 200)
// .centerCrop()
// .placeholder(R.drawable.ps_image_placeholder)
.into(imageView);
}
@Override
public void pauseRequests(Context context) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context).pauseRequests();
}
@Override
public void resumeRequests(Context context) {
if (!ActivityCompatHelper.assertValidRequest(context)) {
return;
}
Glide.with(context).resumeRequests();
}
private GlideEngine() {
}
private static final class InstanceHolder {
static final GlideEngine instance = new GlideEngine();
}
public static GlideEngine createGlideEngine() {
return InstanceHolder.instance;
}
}
...@@ -7,9 +7,10 @@ import android.content.Context; ...@@ -7,9 +7,10 @@ import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Environment; import android.os.Environment;
import android.support.annotation.DrawableRes;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.DrawableRes;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions; import com.bumptech.glide.request.RequestOptions;
......
...@@ -26,7 +26,7 @@ public class GlideRoundTransform extends BitmapTransformation { ...@@ -26,7 +26,7 @@ public class GlideRoundTransform extends BitmapTransformation {
} }
public GlideRoundTransform(Context context, int dp) { public GlideRoundTransform(Context context, int dp) {
super(context); super();
this.radius = Resources.getSystem().getDisplayMetrics().density * dp; this.radius = Resources.getSystem().getDisplayMetrics().density * dp;
} }
......
package com.dayu.utils;
import android.net.Uri;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.dayu.baselibrary.R;
import com.luck.picture.lib.engine.CropFileEngine;
import com.yalantis.ucrop.UCrop;
import java.util.ArrayList;
/**
* 自定义裁剪
*/
public class ImageFileCropEngine implements CropFileEngine {
@Override
public void onStartCrop(Fragment fragment, Uri srcUri, Uri destinationUri, ArrayList<String> dataSource, int requestCode) {
UCrop.Options options = buildOptions(fragment);
UCrop uCrop = UCrop.of(srcUri, destinationUri, dataSource);
options.withAspectRatio(1, 1);
options.setHideBottomControls(true);
options.setCropOutputPathDir(fragment.requireActivity().getFilesDir().getAbsolutePath()
+ "/"+"crop/");
options.setCropOutputFileName(System.currentTimeMillis() + ".png");
options.isDarkStatusBarBlack(true);
uCrop.withOptions(options);
uCrop.start(fragment.requireActivity(), fragment, requestCode);
}
private UCrop.Options buildOptions(Fragment fragment) {
UCrop.Options options = new UCrop.Options();
// options.setHideBottomControls(!cb_hide.isChecked());
// options.setFreeStyleCropEnabled(cb_styleCrop.isChecked());
// options.setShowCropFrame(cb_showCropFrame.isChecked());
// options.setShowCropGrid(cb_showCropGrid.isChecked());
// options.setCircleDimmedLayer(cb_crop_circular.isChecked());
options.withAspectRatio(1, 1);
options.setHideBottomControls(true);
// options.setCropOutputPathDir(getApplication().getFilesDir().getAbsolutePath() + "/wkCrop");
// options.setCropOutputFileName(System.currentTimeMillis() + ".png");
options.setStatusBarColor(ContextCompat.getColor(fragment.getContext(), R.color.white));
options.isDarkStatusBarBlack(true);
// options.isCropDragSmoothToCenter(false);
// options.setSkipCropMimeType(getNotSupportCrop());
// options.isForbidCropGifWebp(cb_not_gif.isChecked());
// options.isForbidSkipMultipleCrop(true);
// options.setMaxScaleMultiplier(100);
// if (selectorStyle != null && selectorStyle.getSelectMainStyle().getStatusBarColor() != 0) {
// SelectMainStyle mainStyle = selectorStyle.getSelectMainStyle();
// boolean isDarkStatusBarBlack = mainStyle.isDarkStatusBarBlack();
// int statusBarColor = mainStyle.getStatusBarColor();
// options.isDarkStatusBarBlack(isDarkStatusBarBlack);
// if (StyleUtils.checkStyleValidity(statusBarColor)) {
// options.setStatusBarColor(statusBarColor);
// options.setToolbarColor(statusBarColor);
// } else {
// options.setStatusBarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey));
// options.setToolbarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey));
// }
// TitleBarStyle titleBarStyle = selectorStyle.getTitleBarStyle();
// if (StyleUtils.checkStyleValidity(titleBarStyle.getTitleTextColor())) {
// options.setToolbarWidgetColor(titleBarStyle.getTitleTextColor());
// } else {
// options.setToolbarWidgetColor(ContextCompat.getColor(getContext(), R.color.ps_color_white));
// }
// } else {
// options.setStatusBarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey));
// options.setToolbarColor(ContextCompat.getColor(getContext(), R.color.ps_color_grey));
// options.setToolbarWidgetColor(ContextCompat.getColor(getContext(), R.color.ps_color_white));
// }
return options;
}
}
...@@ -10,8 +10,10 @@ import android.content.pm.PackageManager; ...@@ -10,8 +10,10 @@ import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.provider.Settings; import android.provider.Settings;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
import com.tbruyelle.rxpermissions2.RxPermissions; import com.tbruyelle.rxpermissions2.RxPermissions;
...@@ -40,7 +42,7 @@ public class MPermissionUtils { ...@@ -40,7 +42,7 @@ public class MPermissionUtils {
requestPermissions(fragment, requestCode, permission, callback); requestPermissions(fragment, requestCode, permission, callback);
} }
public static void requestPermissionsResult(android.support.v4.app.Fragment fragment, int requestCode public static void requestPermissionsResult(Fragment fragment, int requestCode
, String[] permission, OnPermissionListener callback) { , String[] permission, OnPermissionListener callback) {
requestPermissions(fragment, requestCode, permission, callback); requestPermissions(fragment, requestCode, permission, callback);
} }
...@@ -73,8 +75,8 @@ public class MPermissionUtils { ...@@ -73,8 +75,8 @@ public class MPermissionUtils {
} else if (object instanceof android.app.Fragment) { } else if (object instanceof android.app.Fragment) {
((android.app.Fragment) object).requestPermissions(deniedPermissions ((android.app.Fragment) object).requestPermissions(deniedPermissions
.toArray(new String[deniedPermissions.size()]), requestCode); .toArray(new String[deniedPermissions.size()]), requestCode);
} else if (object instanceof android.support.v4.app.Fragment) { } else if (object instanceof Fragment) {
((android.support.v4.app.Fragment) object).requestPermissions(deniedPermissions ((Fragment) object).requestPermissions(deniedPermissions
.toArray(new String[deniedPermissions.size()]), requestCode); .toArray(new String[deniedPermissions.size()]), requestCode);
} else { } else {
mRequestCode = -1; mRequestCode = -1;
...@@ -90,8 +92,8 @@ public class MPermissionUtils { ...@@ -90,8 +92,8 @@ public class MPermissionUtils {
Context context; Context context;
if (object instanceof android.app.Fragment) { if (object instanceof android.app.Fragment) {
context = ((android.app.Fragment) object).getActivity(); context = ((android.app.Fragment) object).getActivity();
} else if (object instanceof android.support.v4.app.Fragment) { } else if (object instanceof Fragment) {
context = ((android.support.v4.app.Fragment) object).getActivity(); context = ((Fragment) object).getActivity();
} else { } else {
context = (Activity) object; context = (Activity) object;
} }
...@@ -178,7 +180,7 @@ public class MPermissionUtils { ...@@ -178,7 +180,7 @@ public class MPermissionUtils {
} }
boolean isActivity = object instanceof Activity; boolean isActivity = object instanceof Activity;
boolean isSupportFragment = object instanceof android.support.v4.app.Fragment; boolean isSupportFragment = object instanceof Fragment;
boolean isAppFragment = object instanceof android.app.Fragment; boolean isAppFragment = object instanceof android.app.Fragment;
if (!(isActivity || isSupportFragment || isAppFragment)) { if (!(isActivity || isSupportFragment || isAppFragment)) {
......
...@@ -5,11 +5,11 @@ import android.annotation.SuppressLint; ...@@ -5,11 +5,11 @@ import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.os.Environment; import android.os.Environment;
import com.dayu.common.Constants; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
...@@ -19,7 +19,7 @@ public class MediaChooseUtils { ...@@ -19,7 +19,7 @@ public class MediaChooseUtils {
* 选择单张图片 * 选择单张图片
*/ */
public static void chooseSigleImg(Activity activity) { public static void chooseSigleImg(Activity activity) {
chooseMedia(activity, PictureMimeType.ofImage(), 1, 0); chooseMedia(activity, SelectMimeType.ofImage(), 1, 0);
} }
public static void chooseLiveImg(Activity activity) { public static void chooseLiveImg(Activity activity) {
...@@ -28,10 +28,10 @@ public class MediaChooseUtils { ...@@ -28,10 +28,10 @@ public class MediaChooseUtils {
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
PictureSelectionModel selector = getPictureSelectionModel(activity, PictureMimeType.ofImage(), 1, 0,0); PictureSelectionModel selector = getPictureSelectionModel(activity, SelectMimeType.ofImage(), 1, 0,0);
selector.enableCrop(true)//是否裁剪 // selector.enableCrop(true)//是否裁剪
.withAspectRatio(3, 2) // .withAspectRatio(3, 2)
.freeStyleCropEnabled(true); // .freeStyleCropEnabled(true);
selector.forResult(PictureConfig.CHOOSE_REQUEST); selector.forResult(PictureConfig.CHOOSE_REQUEST);
} }
...@@ -68,8 +68,8 @@ public class MediaChooseUtils { ...@@ -68,8 +68,8 @@ public class MediaChooseUtils {
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
PictureSelectionModel selector = getPictureSelectionModel(activity, PictureMimeType.ofVideo(), 1, videoLength,videoLength); PictureSelectionModel selector = getPictureSelectionModel(activity, SelectMimeType.ofVideo(), 1, videoLength,videoLength);
selector.isCamera(false).forResult(PictureConfig.CHOOSE_REQUEST); selector.isDisplayCamera(false).forResult(PictureConfig.CHOOSE_REQUEST);
} }
@Override @Override
...@@ -88,8 +88,8 @@ public class MediaChooseUtils { ...@@ -88,8 +88,8 @@ public class MediaChooseUtils {
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
PictureSelectionModel selector = getPictureSelectionModel(activity, PictureMimeType.ofVideo(), 1, videoLength,minLength); PictureSelectionModel selector = getPictureSelectionModel(activity, SelectMimeType.ofVideo(), 1, videoLength,minLength);
selector.isCamera(false).forResult(code); selector.isDisplayCamera(false).forResult(code);
} }
@Override @Override
...@@ -130,28 +130,38 @@ public class MediaChooseUtils { ...@@ -130,28 +130,38 @@ public class MediaChooseUtils {
} }
public static PictureSelectionModel getPictureSelectionModel(Activity activity, int type, int maxCount, int videoLength, int minLength) { public static PictureSelectionModel getPictureSelectionModel(Activity activity, int type, int maxCount, int videoLength, int minLength) {
// return PictureSelector.create(activity)
// .openGallery(type)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
// .maxSelectNum(maxCount)// 最大图片选择数量 int
// .imageSpanCount(4)// 每行显示个数 int
// .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
// .previewImage(true)// 是否可预览图片 true or false
// .isCamera(true)// 是否显示拍照按钮 true or false
// .recordVideoSecond(videoLength) //最大视频长度(秒)
// .videoMaxSecond(videoLength) //最大视频长度(秒)
// .videoMinSecond(minLength)
// .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
// .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于100kb的图片不压缩
// // .enableCrop(true)//是否裁剪
// // .freeStyleCropEnabled(true)
// .synOrAsy(true);
return PictureSelector.create(activity) return PictureSelector.create(activity)
.openGallery(type)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(type)//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(maxCount)// 最大图片选择数量 int .setImageEngine(GlideEngine.createGlideEngine())
.imageSpanCount(4)// 每行显示个数 int // .setCropEngine(new ImageFileCropEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE // .setFilterMaxFileSize(maxCount)
.previewImage(true)// 是否可预览图片 true or false .setImageSpanCount(4)
.isCamera(true)// 是否显示拍照按钮 true or false .setSelectionMode(SelectModeConfig.MULTIPLE);
.recordVideoSecond(videoLength) //最大视频长度(秒) // .isPreviewImage(true)
.videoMaxSecond(videoLength) //最大视频长度(秒) // .isDisplayCamera(true)
.videoMinSecond(minLength) // .isSelectZoomAnim(true);
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
.compress(true)// 是否压缩 true or false
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
.minimumCompressSize(Constants.MINIMUM_COMPRESSSIZE)// 小于100kb的图片不压缩
// .enableCrop(true)//是否裁剪
// .freeStyleCropEnabled(true)
.synOrAsy(true);
} }
public static String getPath() { public static String getPath() {
......
...@@ -9,10 +9,11 @@ import android.graphics.Matrix; ...@@ -9,10 +9,11 @@ import android.graphics.Matrix;
import android.media.ExifInterface; import android.media.ExifInterface;
import android.os.Environment; import android.os.Environment;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
...@@ -135,25 +136,36 @@ public class PictrueUtils { ...@@ -135,25 +136,36 @@ public class PictrueUtils {
public static void showPicDialogs(Activity activity,int maxImgCout) { public static void showPicDialogs(Activity activity,int maxImgCout) {
PictureSelectionModel selector = PictureSelector.create(activity) PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(maxImgCout)// 最大图片选择数量 int // .setFilterMaxFileSize(maxImgCout)
.imageSpanCount(4)// 每行显示个数 int .setImageEngine(GlideEngine.createGlideEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE .setCropEngine(new ImageFileCropEngine())
.previewImage(true)// 是否可预览图片 true or false .setImageSpanCount(4)
.isCamera(true)// 是否显示拍照按钮 true or false .setSelectionMode(SelectModeConfig.MULTIPLE)
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true .isPreviewImage(true)
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效 .isDisplayCamera(true)
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填 .isSelectZoomAnim(true)
.compress(true)// 是否压缩 true or false .setOutputCameraDir("/CustomPath");
.glideOverride(300, 300)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度 // PictureSelectionModel selector = PictureSelector.create(activity)
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false // .openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.compressSavePath(getPath())//压缩图片保存地址 // .maxSelectNum(maxImgCout)// 最大图片选择数量 int
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false // .imageSpanCount(4)// 每行显示个数 int
.minimumCompressSize(100)// 小于100kb的图片不压缩 // .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.synOrAsy(true)//同步true或异步false 压缩 默认同步、 // .previewImage(true)// 是否可预览图片 true or false
.enableCrop(true)//是否裁剪 // .isCamera(true)// 是否显示拍照按钮 true or false
.withAspectRatio(1, 1) // .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.freeStyleCropEnabled(false); // .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 300)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
// .synOrAsy(true)//同步true或异步false 压缩 默认同步、
// .enableCrop(true)//是否裁剪
// .withAspectRatio(1, 1)
// .freeStyleCropEnabled(false);
selector.forResult(PictureConfig.CHOOSE_REQUEST); selector.forResult(PictureConfig.CHOOSE_REQUEST);
} }
......
...@@ -5,7 +5,6 @@ import android.content.Context; ...@@ -5,7 +5,6 @@ import android.content.Context;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
...@@ -15,6 +14,8 @@ import android.view.Window; ...@@ -15,6 +14,8 @@ import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.TextView; import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.common.BaseApplication; import com.dayu.common.BaseApplication;
......
...@@ -5,10 +5,11 @@ import android.annotation.SuppressLint; ...@@ -5,10 +5,11 @@ import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.os.Environment; import android.os.Environment;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
...@@ -50,24 +51,35 @@ public class SelectPicUtils { ...@@ -50,24 +51,35 @@ public class SelectPicUtils {
public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode) { public static void showPicDialogs(Activity activity, int size, boolean needCrop, int requestCode) {
PictureSelectionModel selector = PictureSelector.create(activity) PictureSelectionModel selector = PictureSelector.create(activity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int // .setFilterMaxFileSize(size)
.imageSpanCount(4)// 每行显示个数 int .setImageEngine(GlideEngine.createGlideEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE .setCropEngine(new ImageFileCropEngine())
.previewImage(true)// 是否可预览图片 true or false .setImageSpanCount(4)
.isCamera(true)// 是否显示拍照按钮 true or false .setSelectionMode(SelectModeConfig.MULTIPLE)
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true .isPreviewImage(true)
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效 .isDisplayCamera(true)
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填 .isSelectZoomAnim(true)
.compress(true)// 是否压缩 true or false .setOutputCameraDir("/CustomPath");
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度 // PictureSelectionModel selector = PictureSelector.create(activity)
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false // .openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.compressSavePath(getPath())//压缩图片保存地址 // .maxSelectNum(size)// 最大图片选择数量 int
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false // .imageSpanCount(4)// 每行显示个数 int
// .minimumCompressSize(100)// 小于100kb的图片不压缩 // .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.synOrAsy(true)//同步true或异步false 压缩 默认同步、 // .previewImage(true)// 是否可预览图片 true or false
.enableCrop(needCrop)//是否裁剪 // .isCamera(true)// 是否显示拍照按钮 true or false
.freeStyleCropEnabled(needCrop); // .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
// .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
//// .minimumCompressSize(100)// 小于100kb的图片不压缩
// .synOrAsy(true)//同步true或异步false 压缩 默认同步、
// .enableCrop(needCrop)//是否裁剪
// .freeStyleCropEnabled(needCrop);
selector.forResult(requestCode); selector.forResult(requestCode);
} }
......
...@@ -2,11 +2,12 @@ package com.dayu.utils; ...@@ -2,11 +2,12 @@ package com.dayu.utils;
import android.app.Activity; import android.app.Activity;
import android.content.res.Resources; import android.content.res.Resources;
import android.support.design.widget.TabLayout;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View; import android.view.View;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import com.google.android.material.tabs.TabLayout;
import java.lang.reflect.Field; import java.lang.reflect.Field;
/** /**
...@@ -29,7 +30,7 @@ public class TabLayoutUtils { ...@@ -29,7 +30,7 @@ public class TabLayoutUtils {
Class<?> tabLayout = tabs.getClass(); Class<?> tabLayout = tabs.getClass();
Field tabStrip = null; Field tabStrip = null;
try { try {
tabStrip = tabLayout.getDeclaredField("mTabStrip"); tabStrip = tabLayout.getDeclaredField("slidingTabIndicator");
} catch (NoSuchFieldException e) { } catch (NoSuchFieldException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -53,6 +53,6 @@ public class TimeCountUtil2 extends CountDownTimer { ...@@ -53,6 +53,6 @@ public class TimeCountUtil2 extends CountDownTimer {
public void onFinish() { public void onFinish() {
btn.setText(mAgain); btn.setText(mAgain);
btn.setClickable(true);//重新获得点击 btn.setClickable(true);//重新获得点击
btn.setTextColor(mActivity.getResources().getColor(R.color.white)); btn.setTextColor(mActivity.getResources().getColor(R.color.cl_white));
} }
} }
...@@ -2,10 +2,11 @@ package com.dayu.utils; ...@@ -2,10 +2,11 @@ package com.dayu.utils;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.support.annotation.StringRes;
import android.view.Gravity; import android.view.Gravity;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.StringRes;
/** /**
* 吐司工具类 * 吐司工具类
* on 2017/8/22. * on 2017/8/22.
......
...@@ -15,12 +15,14 @@ import android.widget.FrameLayout; ...@@ -15,12 +15,14 @@ import android.widget.FrameLayout;
import android.widget.FrameLayout.LayoutParams; import android.widget.FrameLayout.LayoutParams;
import android.widget.TabWidget; import android.widget.TabWidget;
import androidx.appcompat.widget.AppCompatTextView;
/** /**
* Created by luofan * Created by luofan
* on 2018/12/14. * on 2018/12/14.
*/ */
public class BadgeView extends android.support.v7.widget.AppCompatTextView { public class BadgeView extends AppCompatTextView {
private boolean mHideOnNull = true; private boolean mHideOnNull = true;
......
...@@ -16,6 +16,8 @@ import android.graphics.drawable.Drawable; ...@@ -16,6 +16,8 @@ import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.util.AttributeSet; import android.util.AttributeSet;
import androidx.appcompat.widget.AppCompatImageView;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
...@@ -23,7 +25,7 @@ import com.dayu.baselibrary.R; ...@@ -23,7 +25,7 @@ import com.dayu.baselibrary.R;
* Created by yu on 2017/8/24. * Created by yu on 2017/8/24.
*/ */
public class CircleImageView extends android.support.v7.widget.AppCompatImageView { public class CircleImageView extends AppCompatImageView {
private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;
private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888;
private static final int COLORDRAWABLE_DIMENSION = 2; private static final int COLORDRAWABLE_DIMENSION = 2;
......
package com.dayu.widgets; package com.dayu.widgets;
import android.content.Context; import android.content.Context;
import android.support.v7.widget.AppCompatEditText;
import androidx.appcompat.widget.AppCompatEditText;
public class DisableEditText extends AppCompatEditText { public class DisableEditText extends AppCompatEditText {
public DisableEditText(Context context) { public DisableEditText(Context context) {
......
package com.dayu.widgets; package com.dayu.widgets;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.MotionEvent; import android.view.MotionEvent;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewpager.widget.ViewPager;
public class FixedViewPager extends ViewPager { public class FixedViewPager extends ViewPager {
public FixedViewPager(@NonNull Context context) { public FixedViewPager(@NonNull Context context) {
super(context); super(context);
......
...@@ -2,17 +2,18 @@ package com.dayu.widgets; ...@@ -2,17 +2,18 @@ package com.dayu.widgets;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.dayu.base.api.protocol.BasePageBean; import com.dayu.base.api.protocol.BasePageBean;
import com.dayu.base.ui.adapter.CoreAdapter; import com.dayu.base.ui.adapter.CoreAdapter;
import com.dayu.base.ui.adapter.TypeSelector; import com.dayu.base.ui.adapter.TypeSelector;
......
...@@ -3,11 +3,12 @@ package com.dayu.widgets; ...@@ -3,11 +3,12 @@ package com.dayu.widgets;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
/** /**
......
...@@ -6,7 +6,6 @@ import android.app.Activity; ...@@ -6,7 +6,6 @@ import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.os.Environment; import android.os.Environment;
import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
...@@ -15,14 +14,19 @@ import android.widget.ImageView; ...@@ -15,14 +14,19 @@ import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import androidx.annotation.Nullable;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
import com.dayu.utils.GlideEngine;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.ImageFileCropEngine;
import com.dayu.utils.MPermissionUtils; import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.UtilsScreen; import com.dayu.utils.UtilsScreen;
import com.luck.picture.lib.PictureSelectionModel; import com.luck.picture.lib.basic.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType; import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.config.SelectModeConfig;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -130,24 +134,36 @@ public class PhotoView extends LinearLayout { ...@@ -130,24 +134,36 @@ public class PhotoView extends LinearLayout {
int size; int size;
size = 10 - mImgs.size(); size = 10 - mImgs.size();
PictureSelectionModel selector = PictureSelector.create(mContext) PictureSelectionModel selector = PictureSelector.create(mContext)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(SelectMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(size)// 最大图片选择数量 int // .setFilterMaxFileSize(size)
.imageSpanCount(4)// 每行显示个数 int .setImageEngine(GlideEngine.createGlideEngine())
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE .setCropEngine(new ImageFileCropEngine())
.previewImage(true)// 是否可预览图片 true or false .setImageSpanCount(4)
.isCamera(true)// 是否显示拍照按钮 true or false .setSelectionMode(SelectModeConfig.MULTIPLE)
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true .isPreviewImage(true)
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效 .isDisplayCamera(true)
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填 .isSelectZoomAnim(true)
.compress(true)// 是否压缩 true or false .setOutputCameraDir("/CustomPath");
.glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false // PictureSelectionModel selector = PictureSelector.create(mContext)
.compressSavePath(getPath())//压缩图片保存地址 // .openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false // .maxSelectNum(size)// 最大图片选择数量 int
// .minimumCompressSize(100)// 小于100kb的图片不压缩 // .imageSpanCount(4)// 每行显示个数 int
.synOrAsy(true);//同步true或异步false 压缩 默认同步、 // .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
// .enableCrop(true)//是否裁剪 // .previewImage(true)// 是否可预览图片 true or false
// .freeStyleCropEnabled(true) // .isCamera(true)// 是否显示拍照按钮 true or false
// .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
// .sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
// .setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
// .compress(true)// 是否压缩 true or false
// .glideOverride(300, 500)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
// .hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
// .compressSavePath(getPath())//压缩图片保存地址
// .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
//// .minimumCompressSize(100)// 小于100kb的图片不压缩
// .synOrAsy(true);//同步true或异步false 压缩 默认同步、
//// .enableCrop(true)//是否裁剪
//// .freeStyleCropEnabled(true)
selector.forResult(PictureConfig.CHOOSE_REQUEST); selector.forResult(PictureConfig.CHOOSE_REQUEST);
} }
......
...@@ -3,11 +3,12 @@ package com.dayu.widgets; ...@@ -3,11 +3,12 @@ package com.dayu.widgets;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
/** /**
......
...@@ -3,6 +3,8 @@ package com.dayu.widgets; ...@@ -3,6 +3,8 @@ package com.dayu.widgets;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
import androidx.appcompat.widget.AppCompatImageView;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
...@@ -11,7 +13,7 @@ import com.dayu.baselibrary.R; ...@@ -11,7 +13,7 @@ import com.dayu.baselibrary.R;
* on 2017/9/21. * on 2017/9/21.
*/ */
public class SwitchImage extends android.support.v7.widget.AppCompatImageView { public class SwitchImage extends AppCompatImageView {
public boolean switchButton = false; public boolean switchButton = false;
public boolean getSwitchButton() { public boolean getSwitchButton() {
......
...@@ -2,15 +2,16 @@ package com.dayu.widgets; ...@@ -2,15 +2,16 @@ package com.dayu.widgets;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.baselibrary.R; import com.dayu.baselibrary.R;
......
...@@ -2,8 +2,6 @@ package com.dayu.widgets; ...@@ -2,8 +2,6 @@ package com.dayu.widgets;
import android.app.Activity; import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity; import android.view.Gravity;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
style="@style/title_image_back" /> style="@style/title_image_back" />
</RelativeLayout> </RelativeLayout>
<android.support.v4.view.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/vp_preview" android:id="@+id/vp_preview"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
/> />
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_text" android:id="@+id/rv_text"
android:layout_margin="15dp" android:layout_margin="15dp"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_text" android:id="@+id/rv_text"
android:background="@color/white" android:background="@color/white"
android:layout_marginLeft="30dp" android:layout_marginLeft="30dp"
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_text" android:id="@+id/rv_text"
android:background="@color/white" android:background="@color/white"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -4,18 +4,18 @@ ...@@ -4,18 +4,18 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v4.widget.SwipeRefreshLayout <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swiperefresh" android:id="@+id/swiperefresh"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview" android:id="@+id/recyclerview"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:cacheColorHint="@null" android:cacheColorHint="@null"
android:scrollbars="none" /> android:scrollbars="none" />
</android.support.v4.widget.SwipeRefreshLayout> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<LinearLayout <LinearLayout
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="cl_white">#ffffff</color> <color name="cl_white">#ffffff</color>
<color name="white">#ffffff</color>
<color name="cl_primarydark">#303F9F</color> <color name="cl_primarydark">#303F9F</color>
<color name="cl_accent">#ff00</color> <color name="cl_accent">#ff00</color>
<color name="cl_text">#8a8a8a</color> <color name="cl_text">#8a8a8a</color>
...@@ -52,6 +53,10 @@ ...@@ -52,6 +53,10 @@
<color name="table_record_title_bg">#78d3f6</color> <color name="table_record_title_bg">#78d3f6</color>
<color name="top_tab_selected_bg">#d7d7d7</color> <color name="top_tab_selected_bg">#d7d7d7</color>
<color name="color_69">#999999</color>
<color name="color_orange">#E0FF6100</color>
<color name="color_fa">#FAFAFA</color>
<color name="color_f2">#F2F2F2</color>
<color name="blue">#7D7DFF</color>
<color name="color_53">#53575e</color>
</resources> </resources>
...@@ -2,7 +2,6 @@ package com.tencent.liteav.demo.beauty; ...@@ -2,7 +2,6 @@ package com.tencent.liteav.demo.beauty;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
...@@ -10,6 +9,8 @@ import android.widget.BaseAdapter; ...@@ -10,6 +9,8 @@ import android.widget.BaseAdapter;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList; import java.util.ArrayList;
public class IconTextAdapter extends BaseAdapter { public class IconTextAdapter extends BaseAdapter {
......
...@@ -3,10 +3,11 @@ package com.tencent.liteav.demo.beauty; ...@@ -3,10 +3,11 @@ package com.tencent.liteav.demo.beauty;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.io.File; import java.io.File;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingDeque; import java.util.concurrent.LinkedBlockingDeque;
......
...@@ -3,10 +3,11 @@ package com.tencent.liteav.demo.beauty; ...@@ -3,10 +3,11 @@ package com.tencent.liteav.demo.beauty;
import android.content.Context; import android.content.Context;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.io.File; import java.io.File;
public class VideoDeviceUtil { public class VideoDeviceUtil {
......
package com.tencent.liteav.demo.beauty; package com.tencent.liteav.demo.beauty;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.File; import java.io.File;
......
...@@ -5,8 +5,8 @@ buildscript { ...@@ -5,8 +5,8 @@ buildscript {
ext.build_tools_version = "29.0.2" ext.build_tools_version = "29.0.2"
ext.min_sdk_version = 21 ext.min_sdk_version = 21
ext.target_sdk_version = 29 ext.target_sdk_version = 29
ext.version_code = 310 ext.version_code = 311
ext.verson_name = "3.1.0" ext.verson_name = "3.1.1"
ext.gradle_version = '4.0.1' ext.gradle_version = '4.0.1'
ext.isReleaseMinify = false ext.isReleaseMinify = false
ext.isDebugMinify = false ext.isDebugMinify = false
......
...@@ -3,10 +3,11 @@ package com.cjt2325.cameralibrary; ...@@ -3,10 +3,11 @@ package com.cjt2325.cameralibrary;
import android.content.Context; import android.content.Context;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Paint; import android.graphics.Paint;
import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import androidx.annotation.Nullable;
import com.cjt2325.cameralibrary.util.ScreenUtils; import com.cjt2325.cameralibrary.util.ScreenUtils;
/** /**
......
...@@ -9,7 +9,6 @@ import android.hardware.Camera; ...@@ -9,7 +9,6 @@ import android.hardware.Camera;
import android.media.AudioManager; import android.media.AudioManager;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.os.Build; import android.os.Build;
import android.support.annotation.RequiresApi;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.util.TypedValue; import android.util.TypedValue;
...@@ -22,6 +21,8 @@ import android.widget.FrameLayout; ...@@ -22,6 +21,8 @@ import android.widget.FrameLayout;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.VideoView; import android.widget.VideoView;
import androidx.annotation.RequiresApi;
import com.cjt2325.cameralibrary.listener.CaptureListener; import com.cjt2325.cameralibrary.listener.CaptureListener;
import com.cjt2325.cameralibrary.listener.ClickListener; import com.cjt2325.cameralibrary.listener.ClickListener;
import com.cjt2325.cameralibrary.listener.ErrorListener; import com.cjt2325.cameralibrary.listener.ErrorListener;
......
package com.example.verificationcodejavademo.widget; package com.example.verificationcodejavademo.widget;
import android.content.Context; import android.content.Context;
import android.support.v7.widget.AppCompatTextView;
import android.text.Spannable; import android.text.Spannable;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.TextPaint; import android.text.TextPaint;
...@@ -11,6 +10,7 @@ import android.util.AttributeSet; ...@@ -11,6 +10,7 @@ import android.util.AttributeSet;
import android.view.View; import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
...@@ -19,3 +19,5 @@ IS_64_BIT=true ...@@ -19,3 +19,5 @@ IS_64_BIT=true
Android.useDeprecatedNdk=true Android.useDeprecatedNdk=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=512m
\ No newline at end of file
...@@ -2,10 +2,11 @@ package com.dayu.learncenter.ui.activity; ...@@ -2,10 +2,11 @@ package com.dayu.learncenter.ui.activity;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.content.Intent; import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.badoo.mobile.util.WeakHandler; import com.badoo.mobile.util.WeakHandler;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData; import com.dayu.base.api.protocol.AddShareRecordData;
......
...@@ -7,7 +7,6 @@ import android.text.TextUtils; ...@@ -7,7 +7,6 @@ import android.text.TextUtils;
import android.view.View; import android.view.View;
import com.dayu.base.ui.activity.BaseActivity; import com.dayu.base.ui.activity.BaseActivity;
import com.dayu.base.ui.activity.CameraActivity;
import com.dayu.common.Constants; import com.dayu.common.Constants;
import com.dayu.learncenter.R; import com.dayu.learncenter.R;
import com.dayu.learncenter.api.bean.CourseDeatilBean; import com.dayu.learncenter.api.bean.CourseDeatilBean;
...@@ -22,19 +21,18 @@ import com.dayu.utils.ToastUtils; ...@@ -22,19 +21,18 @@ import com.dayu.utils.ToastUtils;
import com.dayu.widgets.CustomDialog; import com.dayu.widgets.CustomDialog;
import com.dayu.widgets.JZMediaIjk; import com.dayu.widgets.JZMediaIjk;
import com.dayu.widgets.TextDialog; import com.dayu.widgets.TextDialog;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelectionCameraModel;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import cn.jzvd.Jzvd; import cn.jzvd.Jzvd;
import cn.jzvd.JzvdStd; import cn.jzvd.JzvdStd;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
public class EditCourseActivity extends BaseActivity<PubCoursePresenter, ActivityPubCourseBinding> public class EditCourseActivity extends BaseActivity<PubCoursePresenter, ActivityPubCourseBinding>
implements PubCourseContract.View { implements PubCourseContract.View {
...@@ -197,13 +195,16 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit ...@@ -197,13 +195,16 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
Observable.timer(1000, TimeUnit.MILLISECONDS) // Observable.timer(1000, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread()) // .observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> { // .subscribe(aLong -> {
Intent intent = new Intent(EditCourseActivity.this, CameraActivity.class); // Intent intent = new Intent(EditCourseActivity.this, CameraActivity.class);
intent.putExtra(Constants.ONLY_VIDEO, true); // intent.putExtra(Constants.ONLY_VIDEO, true);
startActivityForResult(intent, Constants.CAMERA_CODE); // startActivityForResult(intent, Constants.CAMERA_CODE);
}); // });
PictureSelectionCameraModel pictureSelectionCameraModel = PictureSelector.create(EditCourseActivity.this)
.openCamera(SelectMimeType.ofVideo());
pictureSelectionCameraModel.forResultActivity(1002);
} }
@Override @Override
...@@ -238,9 +239,12 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit ...@@ -238,9 +239,12 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
switch (requestCode) { switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST: case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> mSelectList = PictureSelector.obtainMultipleResult(data); List<LocalMedia> mSelectList = PictureSelector.obtainSelectorList(data);
if (mSelectList != null) { if (mSelectList != null) {
videoPath = mSelectList.get(0).getPath(); videoPath = mSelectList.get(0).getPath();
if (videoPath.contains("content")){
videoPath = mSelectList.get(0).getRealPath();
}
File file = new File(videoPath); File file = new File(videoPath);
if (file.length() > 300 * 1024 * 1024) { if (file.length() > 300 * 1024 * 1024) {
showToast(R.string.video_file_too_large); showToast(R.string.video_file_too_large);
...@@ -250,6 +254,22 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit ...@@ -250,6 +254,22 @@ public class EditCourseActivity extends BaseActivity<PubCoursePresenter, Activit
} }
} }
break; break;
case 1002:
List<LocalMedia> mSelectList1 = PictureSelector.obtainSelectorList(data);
if (mSelectList1 != null) {
videoPath = mSelectList1.get(0).getPath();
if (videoPath.contains("content")){
videoPath = mSelectList1.get(0).getRealPath();
}
File file = new File(videoPath);
if (file.length() > 500 * 1024 * 1024) {
showToast(R.string.video_file_too_large);
videoPath = "";
} else {
setVideoView();
}
}
break;
} }
} else if (resultCode == Constants.CAMERA_VIDEO) { } else if (resultCode == Constants.CAMERA_VIDEO) {
videoPath = data.getStringExtra("videoPath"); videoPath = data.getStringExtra("videoPath");
......
...@@ -3,10 +3,11 @@ package com.dayu.learncenter.ui.activity; ...@@ -3,10 +3,11 @@ package com.dayu.learncenter.ui.activity;
import android.graphics.Color; import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.facade.annotation.Route; import com.alibaba.android.arouter.facade.annotation.Route;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
......
...@@ -17,7 +17,7 @@ import com.dayu.livemodule.xiaozhibo.login.TCUserMgr; ...@@ -17,7 +17,7 @@ import com.dayu.livemodule.xiaozhibo.login.TCUserMgr;
import com.dayu.provider.router.RouterPath; import com.dayu.provider.router.RouterPath;
import com.dayu.utils.GlideImageLoader; import com.dayu.utils.GlideImageLoader;
import com.dayu.utils.MediaChooseUtils; import com.dayu.utils.MediaChooseUtils;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
...@@ -87,7 +87,7 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP ...@@ -87,7 +87,7 @@ public class PrepareLiveActivity extends BaseActivity<SImplePresenter, ActivityP
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
switch (requestCode) { switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST: case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> mSelectList = PictureSelector.obtainMultipleResult(data); List<LocalMedia> mSelectList = PictureSelector.obtainSelectorList(data);
if (mSelectList != null && mSelectList.size()>0) { if (mSelectList != null && mSelectList.size()>0) {
uploadPic(mSelectList.get(0).getCutPath()); uploadPic(mSelectList.get(0).getCutPath());
// TCUserMgr.getInstance().setCoverPic(mSelectList.get(0).getCutPath(), null); // TCUserMgr.getInstance().setCoverPic(mSelectList.get(0).getCutPath(), null);
......
...@@ -22,10 +22,11 @@ import com.dayu.utils.MPermissionUtils; ...@@ -22,10 +22,11 @@ import com.dayu.utils.MPermissionUtils;
import com.dayu.utils.MediaChooseUtils; import com.dayu.utils.MediaChooseUtils;
import com.dayu.utils.ToastUtils; import com.dayu.utils.ToastUtils;
import com.dayu.widgets.TextDialog; import com.dayu.widgets.TextDialog;
import com.luck.picture.lib.PictureSelector; import com.luck.picture.lib.basic.PictureSelectionCameraModel;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig; import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.SelectMimeType;
import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.entity.LocalMedia;
//import com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
...@@ -120,13 +121,16 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity ...@@ -120,13 +121,16 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
@Override @Override
public void onPermissionGranted() { public void onPermissionGranted() {
Observable.timer(1000, TimeUnit.MILLISECONDS) // Observable.timer(1000, TimeUnit.MILLISECONDS)
.observeOn(AndroidSchedulers.mainThread()) // .observeOn(AndroidSchedulers.mainThread())
.subscribe(aLong -> { // .subscribe(aLong -> {
Intent intent = new Intent(PubCourseActivity.this, CameraActivity.class); // Intent intent = new Intent(PubCourseActivity.this, CameraActivity.class);
intent.putExtra(Constants.ONLY_VIDEO, true); // intent.putExtra(Constants.ONLY_VIDEO, true);
startActivityForResult(intent, Constants.CAMERA_CODE); // startActivityForResult(intent, Constants.CAMERA_CODE);
}); // });
PictureSelectionCameraModel pictureSelectionCameraModel = PictureSelector.create(PubCourseActivity.this)
.openCamera(SelectMimeType.ofVideo());
pictureSelectionCameraModel.forResultActivity(1002);
} }
@Override @Override
...@@ -171,9 +175,28 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity ...@@ -171,9 +175,28 @@ public class PubCourseActivity extends BaseActivity<PubCoursePresenter, Activity
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
switch (requestCode) { switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST: case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> mSelectList = PictureSelector.obtainMultipleResult(data); List<LocalMedia> mSelectList = PictureSelector.obtainSelectorList(data);
if (mSelectList != null) { if (mSelectList != null) {
videoPath = mSelectList.get(0).getPath(); videoPath = mSelectList.get(0).getPath();
if (videoPath.contains("content")){
videoPath = mSelectList.get(0).getRealPath();
}
File file = new File(videoPath);
if (file.length() > 500 * 1024 * 1024) {
showToast(R.string.video_file_too_large);
videoPath = "";
} else {
setVideoView();
}
}
break;
case 1002:
List<LocalMedia> mSelectList1 = PictureSelector.obtainSelectorList(data);
if (mSelectList1 != null) {
videoPath = mSelectList1.get(0).getPath();
if (videoPath.contains("content")){
videoPath = mSelectList1.get(0).getRealPath();
}
File file = new File(videoPath); File file = new File(videoPath);
if (file.length() > 500 * 1024 * 1024) { if (file.length() > 500 * 1024 * 1024) {
showToast(R.string.video_file_too_large); showToast(R.string.video_file_too_large);
......
package com.dayu.learncenter.ui.fragment; package com.dayu.learncenter.ui.fragment;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.text.Editable; import android.text.Editable;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
import com.dayu.base.api.protocol.AddShareRecordData; import com.dayu.base.api.protocol.AddShareRecordData;
import com.dayu.base.ui.fragment.BaseFragment; import com.dayu.base.ui.fragment.BaseFragment;
......
...@@ -2,13 +2,13 @@ package com.dayu.learncenter.ui.fragment; ...@@ -2,13 +2,13 @@ package com.dayu.learncenter.ui.fragment;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.dayu.base.api.APIService; import com.dayu.base.api.APIService;
import com.dayu.base.api.Api; import com.dayu.base.api.Api;
...@@ -28,6 +28,7 @@ import com.dayu.provider.router.RouterPath; ...@@ -28,6 +28,7 @@ import com.dayu.provider.router.RouterPath;
import com.dayu.utils.TabLayoutUtils; import com.dayu.utils.TabLayoutUtils;
import com.dayu.utils.UIUtils; import com.dayu.utils.UIUtils;
import com.dayu.utils.UserManager; import com.dayu.utils.UserManager;
import com.google.android.material.tabs.TabLayout;
import com.umeng.analytics.MobclickAgent; import com.umeng.analytics.MobclickAgent;
import com.youth.banner.WeakHandler; import com.youth.banner.WeakHandler;
......
package com.dayu.learncenter.ui.fragment; package com.dayu.learncenter.ui.fragment;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.alibaba.android.arouter.launcher.ARouter; import com.alibaba.android.arouter.launcher.ARouter;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
......
package com.dayu.learncenter.ui.fragment; package com.dayu.learncenter.ui.fragment;
import android.content.Intent; import android.content.Intent;
import android.support.v7.widget.LinearLayoutManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.dayu.base.api.APIService; import com.dayu.base.api.APIService;
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
android:layout_above="@+id/btn_comment" android:layout_above="@+id/btn_comment"
> >
<android.support.v4.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/nsv_learn" android:id="@+id/nsv_learn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
...@@ -211,14 +211,14 @@ ...@@ -211,14 +211,14 @@
</LinearLayout> </LinearLayout>
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_component" android:id="@+id/rv_component"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" /> android:layout_marginRight="10dp" />
</LinearLayout> </LinearLayout>
</android.support.v4.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
<Button <Button
......
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#f5f5f5"> android:background="#f5f5f5">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_knowledge" android:id="@+id/rv_knowledge"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
android:textColor="@color/common_red" android:textColor="@color/common_red"
android:textSize="15dp" /> android:textSize="15dp" />
<android.support.design.widget.TabLayout <com.google.android.material.tabs.TabLayout
android:id="@+id/tab_learn" android:id="@+id/tab_learn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="78dp" android:layout_height="78dp"
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
<ImageView style="@style/card_line" /> <ImageView style="@style/card_line" />
<android.support.v4.view.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/vp_learn" android:id="@+id/vp_learn"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_marginTop="2dp"> android:layout_marginTop="2dp">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_knowledge" android:id="@+id/rv_knowledge"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="#f5f5f5"> android:background="#f5f5f5">
<android.support.v4.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
...@@ -16,20 +16,20 @@ ...@@ -16,20 +16,20 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_live" android:id="@+id/rv_live"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:overScrollMode="never" /> android:overScrollMode="never" />
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_video" android:id="@+id/rv_video"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:overScrollMode="never" /> android:overScrollMode="never" />
</LinearLayout> </LinearLayout>
</android.support.v4.widget.NestedScrollView> </androidx.core.widget.NestedScrollView>
</com.scwang.smartrefresh.layout.SmartRefreshLayout> </com.scwang.smartrefresh.layout.SmartRefreshLayout>
</layout> </layout>
\ No newline at end of file
package com.dayu.livemodule.roomutil.http; package com.dayu.livemodule.roomutil.http;
import android.support.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.Nullable;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.JsonSyntaxException; import com.google.gson.JsonSyntaxException;
......
...@@ -7,9 +7,6 @@ import android.content.Intent; ...@@ -7,9 +7,6 @@ import android.content.Intent;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log; import android.util.Log;
import android.view.MotionEvent; import android.view.MotionEvent;
import android.view.View; import android.view.View;
...@@ -20,6 +17,10 @@ import android.widget.LinearLayout; ...@@ -20,6 +17,10 @@ import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.livemodule.R; import com.dayu.livemodule.R;
import com.dayu.livemodule.roomutil.commondef.AnchorInfo; import com.dayu.livemodule.roomutil.commondef.AnchorInfo;
import com.dayu.livemodule.xiaozhibo.anchor.music.TCAudioControl; import com.dayu.livemodule.xiaozhibo.anchor.music.TCAudioControl;
......
...@@ -3,7 +3,8 @@ package com.dayu.livemodule.xiaozhibo.anchor.music; ...@@ -3,7 +3,8 @@ package com.dayu.livemodule.xiaozhibo.anchor.music;
import android.net.Uri; import android.net.Uri;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.NonNull;
import androidx.annotation.NonNull;
public class MusicEntity implements Parcelable { public class MusicEntity implements Parcelable {
//id标识 //id标识
......
...@@ -11,10 +11,6 @@ import android.os.Build; ...@@ -11,10 +11,6 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.StrictMode; import android.os.StrictMode;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.FileProvider;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Display; import android.view.Display;
...@@ -27,6 +23,11 @@ import android.widget.RadioGroup; ...@@ -27,6 +23,11 @@ import android.widget.RadioGroup;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestManager; import com.bumptech.glide.RequestManager;
import com.dayu.livemodule.R; import com.dayu.livemodule.R;
......
...@@ -15,11 +15,12 @@ import android.location.LocationManager; ...@@ -15,11 +15,12 @@ import android.location.LocationManager;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import com.dayu.livemodule.R; import com.dayu.livemodule.R;
import com.dayu.livemodule.xiaozhibo.common.utils.TCConstants; import com.dayu.livemodule.xiaozhibo.common.utils.TCConstants;
......
...@@ -10,7 +10,8 @@ import android.content.Intent; ...@@ -10,7 +10,8 @@ import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.os.Build; import android.os.Build;
import android.os.IBinder; import android.os.IBinder;
import android.support.v4.content.LocalBroadcastManager;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.dayu.livemodule.xiaozhibo.common.utils.TCConstants; import com.dayu.livemodule.xiaozhibo.common.utils.TCConstants;
......
...@@ -8,8 +8,6 @@ import android.graphics.BitmapFactory; ...@@ -8,8 +8,6 @@ import android.graphics.BitmapFactory;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.Display; import android.view.Display;
...@@ -24,6 +22,9 @@ import android.widget.RelativeLayout; ...@@ -24,6 +22,9 @@ import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.livemodule.IMLVBLiveRoomListener; import com.dayu.livemodule.IMLVBLiveRoomListener;
import com.dayu.livemodule.MLVBLiveRoom; import com.dayu.livemodule.MLVBLiveRoom;
import com.dayu.livemodule.R; import com.dayu.livemodule.R;
......
...@@ -32,13 +32,14 @@ import android.renderscript.Allocation; ...@@ -32,13 +32,14 @@ import android.renderscript.Allocation;
import android.renderscript.Element; import android.renderscript.Element;
import android.renderscript.RenderScript; import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur; import android.renderscript.ScriptIntrinsicBlur;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.PermissionChecker;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.TypedValue; import android.util.TypedValue;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.PermissionChecker;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.bumptech.glide.RequestManager; import com.bumptech.glide.RequestManager;
import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.DiskCacheStrategy;
......
package com.dayu.livemodule.xiaozhibo.common.widget; package com.dayu.livemodule.xiaozhibo.common.widget;
import android.content.Context; import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ImageView; import android.widget.ImageView;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.livemodule.R; import com.dayu.livemodule.R;
import com.dayu.livemodule.xiaozhibo.common.msg.TCSimpleUserInfo; import com.dayu.livemodule.xiaozhibo.common.msg.TCSimpleUserInfo;
import com.dayu.livemodule.xiaozhibo.common.utils.TCUtils; import com.dayu.livemodule.xiaozhibo.common.utils.TCUtils;
......
...@@ -4,9 +4,10 @@ import android.graphics.Canvas; ...@@ -4,9 +4,10 @@ import android.graphics.Canvas;
import android.graphics.Paint; import android.graphics.Paint;
import android.graphics.Rect; import android.graphics.Rect;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull;
import android.text.style.ImageSpan; import android.text.style.ImageSpan;
import androidx.annotation.NonNull;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
/** /**
......
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