Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lib_base
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sikang
lib_base
Commits
e371b4b8
Commit
e371b4b8
authored
Apr 24, 2019
by
sikang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://47.100.14.92:8929/sikang/lib_base
update script
parents
54aab50c
15de9484
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
232 additions
and
63 deletions
+232
-63
script/release_builder.sh
+1
-0
src/main/AndroidManifest.xml
+18
-34
src/main/java/com/common/activity/TakePhotoActivity.java
+14
-8
src/main/java/tech/starwin/mvp/presenter/UploadPresenter.java
+18
-7
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
+23
-5
src/main/java/tech/starwin/network/tools/BitmapRequestBody.java
+43
-0
src/main/java/tech/starwin/network/tools/MultipartBodyMaker.java
+9
-2
src/main/java/tech/starwin/utils/Base64.java
+0
-0
src/main/java/tech/starwin/utils/BitmapUtils.java
+63
-0
src/main/java/tech/starwin/utils/FileUtils.java
+2
-1
src/main/java/tech/starwin/utils/SPDataProvider.java
+35
-0
src/main/java/tech/starwin/utils/context_utils/PermissionsHelper.java
+6
-6
No files found.
script/release_builder.sh
View file @
e371b4b8
...
...
@@ -62,5 +62,6 @@ else
echo
"未知的打包方式"
fi
gradlew clean
cd
lib_base/script/garble/
./reset_name.sh
src/main/AndroidManifest.xml
View file @
e371b4b8
...
...
@@ -3,9 +3,14 @@
package=
"tech.starwin"
>
<!--写入SD卡-->
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
tools:node=
"remove"
/>
<!--读取SD卡-->
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
tools:node=
"remove"
/>
<uses-permission
android:name=
"android.permission.ACCESS_NETWORK_STATE"
/>
<!--相机-->
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<!--读取联系人信息-->
...
...
@@ -75,65 +80,44 @@
android:name=
"com.facebook.accountkit.ClientToken"
android:value=
"@string/ACCOUNT_KIT_CLIENT_TOKEN"
/>
<activity
android:name=
"com.facebook.accountkit.ui.AccountKitActivity"
/>
<activity
android:name=
"com.facebook.accountkit.ui.AccountKitActivity"
/>
<!--地区选择-->
<activity
android:name=
"com.common.activity.RegionActivity"
/>
<activity
android:name=
"com.common.activity.RegionActivity"
/>
<!-- Zendesk -->
<activity
android:name=
"com.common.activity.RefreshDeskActivity"
android:windowSoftInputMode=
"adjustResize"
/>
<activity
android:name=
"com.common.activity.RefreshDeskListActivity"
/>
<activity
android:name=
"com.common.activity.RefreshDeskListActivity"
/>
<!--拍照-->
<activity
android:name=
"com.common.activity.TakePhotoActivity"
/>
<activity
android:name=
"com.common.activity.TakePhotoActivity"
/>
<!--还款指南-->
<activity
android:name=
"com.common.activity.RepaymentGuideActivity"
/>
<activity
android:name=
"com.common.activity.RepaymentGuideActivity"
/>
<!--Web-->
<activity
android:name=
"com.common.activity.WebActivity"
/>
<activity
android:name=
"com.common.activity.WebActivity"
/>
<!--注册协议和隐私政策-->
<activity
android:name=
"com.common.activity.AgreementPolicyActivity"
android:launchMode=
"standard"
/>
android:launchMode=
"standard"
/>
<!--帮助中心-->
<activity
android:name=
"com.common.activity.HelpCenterActivity"
/>
<activity
android:name=
"com.common.activity.HelpCenterActivity"
/>
<!--关于我们-->
<activity
android:name=
"com.common.activity.AboutUsActivity"
/>
<activity
android:name=
"com.common.activity.AboutUsActivity"
/>
<!--活动中心-->
<activity
android:name=
"com.common.activity.ActivityCenter"
/>
<activity
android:name=
"com.common.activity.ActivityCenter"
/>
<!--活动中心-->
<activity
android:name=
"com.common.activity.MessageListActivity"
/>
<activity
android:name=
"com.common.activity.MessageListActivity"
/>
<!--<receiver-->
<!--tools:node="remove"-->
...
...
src/main/java/com/common/activity/TakePhotoActivity.java
View file @
e371b4b8
...
...
@@ -12,6 +12,7 @@ import android.widget.ImageView;
import
com.qmuiteam.qmui.util.QMUIStatusBarHelper
;
import
java.io.File
;
import
java.io.FileOutputStream
;
import
tech.starwin.R
;
...
...
@@ -20,6 +21,8 @@ import com.common.base.BaseActivity;
import
tech.starwin.impl.OnNoShakeClickListener
;
import
tech.starwin.utils.BitmapUtils
;
import
tech.starwin.utils.FileUtils
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.SPDataProvider
;
import
tech.starwin.utils.context_utils.ActivityJumper
;
import
tech.starwin.utils.context_utils.EasyActivityResult
;
import
tech.starwin.utils.ui_utils.QMUIHelper
;
...
...
@@ -100,6 +103,17 @@ public class TakePhotoActivity extends BaseActivity {
public
void
onEventClick
(
View
v
)
{
if
(
v
.
getId
()
==
R
.
id
.
button_shoot
)
{
cameraView
.
captureImage
(
bitmap
->
{
// long pix_size = bitmap.getWidth() * bitmap.getHeight();
// float scale = 720 * 1080 / (float) pix_size;
// BitmapUtils.scaleBitmap(bitmap, scale);
// if(TextUtils.equals(type, PhotoType.KTP.name())){
// SPDataProvider.saveKTPImage(bitmap);
// }else if(TextUtils.equals(type, PhotoType.WORK_CARD.name())){
// SPDataProvider.saveWorkImage(bitmap);
// }
// setResult(RESULT_OK);
// finish();
File
image
=
FileUtils
.
getImageFile
(
getApplicationContext
(),
KTP_IMAGE
);
if
(!
image
.
exists
())
{
image
.
mkdir
();
...
...
@@ -124,14 +138,6 @@ public class TakePhotoActivity extends BaseActivity {
setResult
(
RESULT_OK
,
intent
);
finish
();
// try {
// FileOutputStream outputStream = new FileOutputStream(image.getPath());
// outputStream.write(data);
// outputStream.close();
//
// } catch (java.io.IOException e) {
// e.printStackTrace();
// }
});
}
else
if
(
v
.
getId
()
==
R
.
id
.
button_cancel
)
{
setResult
(
RESULT_CANCELED
);
...
...
src/main/java/tech/starwin/mvp/presenter/UploadPresenter.java
View file @
e371b4b8
package
tech
.
starwin
.
mvp
.
presenter
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.support.annotation.NonNull
;
import
android.text.TextUtils
;
...
...
@@ -13,11 +14,8 @@ import java.util.List;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableSource
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Function
;
import
io.reactivex.functions.Predicate
;
import
io.reactivex.schedulers.Schedulers
;
import
okhttp3.MultipartBody
;
import
tech.starwin.LibConfig
;
import
tech.starwin.base.BasePresenter
;
import
tech.starwin.constants.TrackEvent
;
...
...
@@ -28,9 +26,8 @@ import com.common.bean.BasicAck;
import
com.common.bean.OcrResultBean
;
import
com.google.gson.JsonObject
;
import
tech.starwin.utils.LogUtils
;
import
tech.starwin.utils.LoginManager
;
import
tech.starwin.
uti
ls.MultipartBodyMaker
;
import
tech.starwin.
network.too
ls.MultipartBodyMaker
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.TrackEventHelper
;
import
tech.starwin.utils.context_utils.AppInfoUtils
;
...
...
@@ -48,7 +45,21 @@ public class UploadPresenter extends BasePresenter<UploadApi> {
* 身份证ocr识别
*/
public
void
identityOcr
(
final
String
action
,
@NonNull
File
file
)
{
handleRequest
(
apiService
.
identityOcr
(
MultipartBodyMaker
.
makeSimplePart
(
"file"
,
file
),
LoginManager
.
get
().
getToken
()),
identityOcr
(
action
,
MultipartBodyMaker
.
makeSimplePart
(
"file"
,
file
));
}
/**
* 身份证ocr识别
*/
public
void
identityOcr
(
final
String
action
,
@NonNull
Bitmap
bitmap
)
{
identityOcr
(
action
,
MultipartBodyMaker
.
makeSimplePart
(
"file"
,
"ktp_img"
,
bitmap
,
Bitmap
.
CompressFormat
.
JPEG
));
}
/**
* 身份证ocr识别,直接使用Bitmap
*/
private
void
identityOcr
(
final
String
action
,
MultipartBody
.
Part
filePart
)
{
handleRequest
(
apiService
.
identityOcr
(
filePart
,
LoginManager
.
get
().
getToken
()),
new
HttpObserver
<
OcrResultBean
>()
{
@Override
public
void
onStart
()
{
...
...
src/main/java/tech/starwin/mvp/presenter/UserPresenter.java
View file @
e371b4b8
...
...
@@ -2,6 +2,7 @@ package tech.starwin.mvp.presenter;
import
android.annotation.SuppressLint
;
import
android.graphics.Bitmap
;
import
android.text.TextUtils
;
import
org.greenrobot.eventbus.EventBus
;
...
...
@@ -17,6 +18,7 @@ import io.reactivex.functions.Function;
import
io.reactivex.functions.Function4
;
import
io.reactivex.functions.Predicate
;
import
io.reactivex.schedulers.Schedulers
;
import
okhttp3.MultipartBody
;
import
okhttp3.ResponseBody
;
import
tech.starwin.base.BasePresenter
;
import
tech.starwin.constants.ActionEnum
;
...
...
@@ -44,7 +46,7 @@ import com.common.bean.UserBean;
import
tech.starwin.network.Gateway
;
import
tech.starwin.network.ServiceGenerator
;
import
tech.starwin.utils.LoginManager
;
import
tech.starwin.
uti
ls.MultipartBodyMaker
;
import
tech.starwin.
network.too
ls.MultipartBodyMaker
;
import
tech.starwin.utils.PreferencesManager
;
import
tech.starwin.utils.TrackEventHelper
;
...
...
@@ -472,10 +474,26 @@ public class UserPresenter extends BasePresenter<UserApi> {
}
public
void
submitEmploymentInfo
(
String
action
,
File
workCardImage
,
EmploymentServerBean
employmentBean
)
{
MultipartBody
.
Part
part
=
null
;
if
(
workCardImage
!=
null
&&
workCardImage
.
exists
())
{
part
=
MultipartBodyMaker
.
makeSimplePart
(
"file"
,
workCardImage
);
}
submitEmploymentInfo
(
action
,
part
,
employmentBean
);
}
// public void submitEmploymentInfo(String action, Bitmap bitmap, EmploymentServerBean employmentBean) {
// MultipartBody.Part part = null;
// if (bitmap != null) {
// part = MultipartBodyMaker.makeSimplePart("file", "word_card", bitmap, Bitmap.CompressFormat.JPEG);
// }
// submitEmploymentInfo(action, part, employmentBean);
// }
/**
* 提交工作信息
*/
p
ublic
void
submitEmploymentInfo
(
String
action
,
File
workCardImage
,
EmploymentServerBean
employmentBean
)
{
p
rivate
void
submitEmploymentInfo
(
String
action
,
MultipartBody
.
Part
part
,
EmploymentServerBean
employmentBean
)
{
Observable
<
ResponseBody
>
info
=
ServiceGenerator
.
getService
(
UserApi
.
class
)
.
submitEmploymentInfo
(
employmentBean
.
getCompanyName
(),
employmentBean
.
getCompanyProvince
(),
...
...
@@ -488,8 +506,8 @@ public class UserPresenter extends BasePresenter<UserApi> {
employmentBean
.
getSalary
(),
LoginManager
.
get
().
getToken
());
if
(
workCardImage
!=
null
&&
workCardImage
.
exists
()
)
{
Observable
<
ResponseBody
>
upload
=
getService
(
UploadApi
.
class
).
uploadPhoto
(
MultipartBodyMaker
.
makeSimplePart
(
"file"
,
workCardImage
)
,
"EMPLOYMENT_PHOTO"
,
LoginManager
.
get
().
getToken
());
if
(
part
!=
null
)
{
Observable
<
ResponseBody
>
upload
=
getService
(
UploadApi
.
class
).
uploadPhoto
(
part
,
"EMPLOYMENT_PHOTO"
,
LoginManager
.
get
().
getToken
());
handleRequest
(
action
,
Observable
.
zip
(
info
,
upload
,
new
BiFunction
<
ResponseBody
,
ResponseBody
,
Boolean
>()
{
@Override
...
...
@@ -579,7 +597,7 @@ public class UserPresenter extends BasePresenter<UserApi> {
/**
* 获取其他照片
*
*
/
*/
public
void
getPhotoList
(
String
action
)
{
handleRequest
(
action
,
apiService
.
getPhotoList
());
}
...
...
src/main/java/tech/starwin/network/tools/BitmapRequestBody.java
0 → 100644
View file @
e371b4b8
package
tech
.
starwin
.
network
.
tools
;
import
android.graphics.Bitmap
;
import
java.io.IOException
;
import
javax.annotation.Nullable
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
okio.BufferedSink
;
/**
* Created by SiKang on 2019/4/22.
*/
public
class
BitmapRequestBody
extends
RequestBody
{
private
Bitmap
bitmap
;
private
Bitmap
.
CompressFormat
format
;
public
BitmapRequestBody
(
Bitmap
bitmap
,
Bitmap
.
CompressFormat
format
)
{
this
.
bitmap
=
bitmap
;
this
.
format
=
format
;
}
@Nullable
@Override
public
MediaType
contentType
()
{
if
(
format
==
Bitmap
.
CompressFormat
.
JPEG
)
{
return
MediaType
.
parse
(
"image/jpeg"
);
}
else
if
(
format
==
Bitmap
.
CompressFormat
.
PNG
)
{
return
MediaType
.
parse
(
"image/png"
);
}
else
if
(
format
==
Bitmap
.
CompressFormat
.
WEBP
)
{
return
MediaType
.
parse
(
"image/webp"
);
}
return
null
;
}
@Override
public
void
writeTo
(
BufferedSink
sink
)
throws
IOException
{
bitmap
.
compress
(
format
,
100
,
sink
.
outputStream
());
}
}
src/main/java/tech/starwin/
uti
ls/MultipartBodyMaker.java
→
src/main/java/tech/starwin/
network/too
ls/MultipartBodyMaker.java
View file @
e371b4b8
package
tech
.
starwin
.
utils
;
package
tech
.
starwin
.
network
.
tools
;
import
android.graphics.Bitmap
;
import
java.io.File
;
import
java.util.List
;
...
...
@@ -6,6 +8,7 @@ import java.util.List;
import
okhttp3.MediaType
;
import
okhttp3.MultipartBody
;
import
okhttp3.RequestBody
;
import
tech.starwin.utils.FileUtils
;
/**
* Created by SiKang on 2018/9/28.
...
...
@@ -35,6 +38,11 @@ public class MultipartBodyMaker {
return
MultipartBody
.
Part
.
createFormData
(
name
,
file
.
getName
(),
requestFile
);
}
public
static
MultipartBody
.
Part
makeSimplePart
(
String
name
,
String
fileName
,
Bitmap
bitmap
,
Bitmap
.
CompressFormat
format
)
{
RequestBody
requestFile
=
new
BitmapRequestBody
(
bitmap
,
format
);
return
MultipartBody
.
Part
.
createFormData
(
name
,
fileName
,
requestFile
);
}
public
static
MultipartBody
.
Part
makeSimplePart
(
String
name
,
String
value
)
{
return
MultipartBody
.
Part
.
createFormData
(
name
,
value
);
}
...
...
@@ -78,6 +86,5 @@ public class MultipartBodyMaker {
public
MultipartBodyMaker
build
()
{
return
new
MultipartBodyMaker
(
builder
);
}
}
}
src/main/java/tech/starwin/utils/Base64.java
deleted
100644 → 0
View file @
54aab50c
This diff is collapsed.
Click to expand it.
src/main/java/tech/starwin/utils/BitmapUtils.java
View file @
e371b4b8
...
...
@@ -6,8 +6,10 @@ import android.graphics.Matrix;
import
android.graphics.drawable.BitmapDrawable
;
import
android.graphics.drawable.Drawable
;
import
android.media.ExifInterface
;
import
android.util.Base64
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.io.FileOutputStream
;
...
...
@@ -61,6 +63,20 @@ public class BitmapUtils {
return
resizedBitmap
;
}
/**
* 缩放图片到指定大小(保持比例)
*/
public
static
Bitmap
scaleBitmap
(
Bitmap
bitmap
,
float
scale
)
{
if
(
scale
==
0
||
scale
==
1
)
{
return
bitmap
;
}
Matrix
matrix
=
new
Matrix
();
matrix
.
postScale
(
scale
,
scale
);
Bitmap
resizedBitmap
=
Bitmap
.
createBitmap
(
bitmap
,
0
,
0
,
bitmap
.
getWidth
(),
bitmap
.
getHeight
(),
matrix
,
true
);
return
resizedBitmap
;
}
/**
* 从SD卡中加载图片中心区域
...
...
@@ -267,6 +283,53 @@ public class BitmapUtils {
/**
* bitmap转为base64
*
* @param bitmap
* @return
*/
public
static
String
bitmapToBase64
(
Bitmap
bitmap
)
{
String
result
=
null
;
ByteArrayOutputStream
baos
=
null
;
try
{
if
(
bitmap
!=
null
)
{
baos
=
new
ByteArrayOutputStream
();
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
100
,
baos
);
baos
.
flush
();
baos
.
close
();
byte
[]
bitmapBytes
=
baos
.
toByteArray
();
result
=
Base64
.
encodeToString
(
bitmapBytes
,
Base64
.
DEFAULT
);
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
if
(
baos
!=
null
)
{
baos
.
flush
();
baos
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
return
result
;
}
/**
* base64转为bitmap
*
* @param base64Data
* @return
*/
public
static
Bitmap
base64ToBitmap
(
String
base64Data
)
{
byte
[]
bytes
=
Base64
.
decode
(
base64Data
,
Base64
.
DEFAULT
);
return
BitmapFactory
.
decodeByteArray
(
bytes
,
0
,
bytes
.
length
);
}
/**
* Drawable转Bitmap
*/
public
static
Bitmap
drawableToBmp
(
Drawable
drawable
)
{
...
...
src/main/java/tech/starwin/utils/FileUtils.java
View file @
e371b4b8
...
...
@@ -62,7 +62,8 @@ public class FileUtils {
* 创建图片文件
*/
public
static
File
getImageFile
(
Context
context
,
String
fileName
)
{
File
file
=
new
File
(
getAppDir
(
context
).
getAbsoluteFile
()
+
IMAGE_CACHE
);
File
file
=
new
File
(
context
.
getExternalFilesDir
(
null
).
getAbsoluteFile
()
+
IMAGE_CACHE
);
// File file = new File(getAppDir(context).getAbsoluteFile() + IMAGE_CACHE);
if
(!
file
.
exists
())
{
file
.
mkdirs
();
}
...
...
src/main/java/tech/starwin/utils/SPDataProvider.java
0 → 100644
View file @
e371b4b8
package
tech
.
starwin
.
utils
;
import
android.graphics.Bitmap
;
import
android.text.TextUtils
;
/**
* Created by SiKang on 2019/4/22.
*/
public
class
SPDataProvider
{
//
// /**
// * 存取KTP照片
// */
// public static void saveKTPImage(Bitmap bitmap) {
// PreferencesManager.get().saveData("ktp_image", BitmapUtils.bitmapToBase64(bitmap));
// }
// public static Bitmap getKTPImage() {
// String bitmapStr = PreferencesManager.get().getString("ktp_image", "");
// return TextUtils.isEmpty(bitmapStr) ? null : BitmapUtils.base64ToBitmap(bitmapStr);
// }
//
// /**
// * 存取工作证照片
// */
// public static void saveWorkImage(Bitmap bitmap) {
// PreferencesManager.get().saveData("work_card_image", BitmapUtils.bitmapToBase64(bitmap));
// }
// public static Bitmap getWorkImage() {
// String bitmapStr = PreferencesManager.get().getString("work_card_image", "");
// return TextUtils.isEmpty(bitmapStr) ? null : BitmapUtils.base64ToBitmap(bitmapStr);
// }
}
src/main/java/tech/starwin/utils/context_utils/PermissionsHelper.java
View file @
e371b4b8
...
...
@@ -56,10 +56,10 @@ public class PermissionsHelper {
Manifest
.
permission
.
READ_CONTACTS
,
Manifest
.
permission
.
READ_CALL_LOG
,
Manifest
.
permission
.
READ_SMS
,
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
//
Manifest.permission.ACCESS_COARSE_LOCATION,//粗精度定位
//
Manifest.permission.ACCESS_FINE_LOCATION//卫星定位
//
Manifest.permission.READ_EXTERNAL_STORAGE,
//
Manifest.permission.WRITE_EXTERNAL_STORAGE
Manifest
.
permission
.
ACCESS_COARSE_LOCATION
,
//粗精度定位
Manifest
.
permission
.
ACCESS_FINE_LOCATION
//卫星定位
// Manifest.permission.READ_PHONE_STATE
};
...
...
@@ -70,8 +70,8 @@ public class PermissionsHelper {
Manifest
.
permission
.
READ_CONTACTS
,
// Manifest.permission.READ_CALL_LOG,
// Manifest.permission.READ_SMS,
Manifest
.
permission
.
READ_EXTERNAL_STORAGE
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
//
Manifest.permission.READ_EXTERNAL_STORAGE,
//
Manifest.permission.WRITE_EXTERNAL_STORAGE
// Manifest.permission.ACCESS_COARSE_LOCATION,//粗精度定位
// Manifest.permission.ACCESS_FINE_LOCATION//卫星定位
// Manifest.permission.READ_PHONE_STATE
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment