Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
android-koreadc-client-aar
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
郑鹏
android-koreadc-client-aar
Commits
d3e7306b
Commit
d3e7306b
authored
Jan 08, 2020
by
郑鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更换应用权限请求
parent
cd442f97
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
131 additions
and
105 deletions
+131
-105
app-release.apk
app/release/app-release.apk
+0
-0
MainActivity.kt
app/src/main/java/cn/dankal/client/MainActivity.kt
+23
-17
BaseActivity.java
...n/java/cn/dankal/basiclib/base/activity/BaseActivity.java
+43
-43
BaseFragment.java
...n/java/cn/dankal/basiclib/base/fragment/BaseFragment.java
+41
-30
LoginActivity.kt
...-user/src/main/java/cn/dankal/user/login/LoginActivity.kt
+24
-15
No files found.
app/release/app-release.apk
View file @
d3e7306b
No preview for this file type
app/src/main/java/cn/dankal/client/MainActivity.kt
View file @
d3e7306b
...
...
@@ -10,6 +10,7 @@ import android.support.v4.app.ActivityCompat
import
android.support.v4.app.Fragment
import
android.support.v4.app.FragmentManager
import
android.support.v4.app.FragmentPagerAdapter
import
android.support.v4.content.ContextCompat
import
android.support.v4.view.ViewPager
import
android.text.TextUtils
import
android.util.Log
...
...
@@ -33,20 +34,19 @@ import cn.dankal.client.ui.home.ScanResultActivity
import
cn.dankal.client.ui.home.details.MerchantDetailsActivity
import
cn.dankal.client.ui.personal.PersonalFragment
import
cn.dankal.client.ui.shop.ShopFragment
import
cn.dankal.entities.event.LocationChangeEvent
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.google.android.gms.maps.GoogleMap
import
com.google.android.gms.maps.OnMapReadyCallback
import
com.google.android.gms.tasks.OnCompleteListener
import
com.google.firebase.iid.FirebaseInstanceId
import
com.google.gson.Gson
import
com.
yanzhenjie.permission.AndPermission
import
com.
tbruyelle.rxpermissions2.RxPermissions
import
com.yanzhenjie.permission.Permission
import
com.yzq.zxinglibrary.common.Constant
import
io.reactivex.disposables.Disposable
import
io.reactivex.functions.Consumer
import
kotlinx.android.synthetic.main.activity_main.*
import
okhttp3.ResponseBody
import
org.greenrobot.eventbus.EventBus
import
java.lang.reflect.Field
@Route
(
path
=
MAIN
)
...
...
@@ -70,6 +70,7 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
val
ITEM_CURRENT
=
3
// lateinit var commonDialog: CommonDialog
private
var
mRxPermissions
:
RxPermissions
?
=
null
private
var
mMap
:
GoogleMap
?
=
null
...
...
@@ -92,6 +93,8 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
}
override
fun
initComponents
()
{
mRxPermissions
=
RxPermissions
(
this
)
uploadFireBaseToken
()
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
M
)
{
if
(
ActivityCompat
.
checkSelfPermission
(
this
,
...
...
@@ -270,29 +273,32 @@ class MainActivity : BaseActivity(), OnMapReadyCallback {
private
fun
requestPermission
()
{
AndPermission
.
with
(
this
)
.
runtime
()
.
permission
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
ACCESS_FINE_LOCATION
)
.
onGranted
{
EventBus
.
getDefault
().
post
(
LocationChangeEvent
())
}
.
onDenied
{
mRxPermissions
?.
let
{
it
.
request
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
ACCESS_FINE_LOCATION
).
subscribe
({
if
(
it
)
{
//权限被允许
initLocation
()
}
else
{
val
builder
=
CommonDialog
.
Builder
(
this
)
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
))
builder
.
setTitle
(
getString
(
cn
.
dankal
.
user
.
R
.
string
.
prohibiting_access_will_affect_your_normal_use
))
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
resources
.
getColor
(
R
.
color
.
color14
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
))
builder
.
setNegativeButton
(
getString
(
cn
.
dankal
.
user
.
R
.
string
.
refuse
),
ContextCompat
.
getColor
(
this
,
cn
.
dankal
.
user
.
R
.
color
.
color14
))
{
ToastUtils
.
showShort
(
getString
(
cn
.
dankal
.
user
.
R
.
string
.
failed_to_obtain_permission
))
commonDialog
.
dismiss
()
}
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
resources
.
getColor
(
R
.
color
.
colorPrimary
))
{
builder
.
setPositiveButton
(
getString
(
cn
.
dankal
.
user
.
R
.
string
.
agree_to_open
),
ContextCompat
.
getColor
(
this
,
cn
.
dankal
.
user
.
R
.
color
.
colorPrimary
))
{
toSelfSetting
()
commonDialog
.
dismiss
()
}
commonDialog
=
builder
.
create
()
commonDialog
.
show
()
}.
start
()
}
},
{
})
}
}
...
...
baselib/src/main/java/cn/dankal/basiclib/base/activity/BaseActivity.java
View file @
d3e7306b
package
cn
.
dankal
.
basiclib
.
base
.
activity
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.content.Context
;
...
...
@@ -20,8 +21,10 @@ import android.view.WindowManager;
import
com.alibaba.android.arouter.launcher.ARouter
;
import
com.yanzhenjie.permission.AndPermission
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
org.greenrobot.eventbus.EventBus
;
import
java.util.List
;
import
butterknife.ButterKnife
;
...
...
@@ -30,19 +33,13 @@ import cn.dankal.basiclib.DankalApplication;
import
cn.dankal.basiclib.R
;
import
cn.dankal.basiclib.base.BaseView
;
import
cn.dankal.basiclib.base.callback.DKCallBackBoolean
;
import
cn.dankal.basiclib.constant.Constant
;
import
cn.dankal.basiclib.constant.ConstantsHomeType
;
import
cn.dankal.basiclib.eventbus.UpdateLanguageEvent
;
import
cn.dankal.basiclib.hook.ViewDoubleClickUtil
;
import
cn.dankal.basiclib.util.ActivityManager
;
import
cn.dankal.basiclib.util.ActivityUtils
;
import
cn.dankal.basiclib.util.ButtonUtil
;
import
cn.dankal.basiclib.util.DKHandler
;
import
cn.dankal.basiclib.util.LanguageUtil
;
import
cn.dankal.basiclib.util.SPUtils
;
import
cn.dankal.basiclib.util.TitleBarUtils
;
import
cn.dankal.basiclib.util.ToastUtils
;
import
cn.dankal.basiclib.util.language.LocalManageUtil
;
import
cn.dankal.basiclib.util.language.MultiLanguage
;
import
cn.dankal.basiclib.widget.CommonDialog
;
import
cn.dankal.basiclib.widget.TipDialog
;
...
...
@@ -51,6 +48,7 @@ import cn.dankal.basiclib.widget.titlebar.ITitleBar;
import
cn.dankal.basiclib.widget.titlebar.SingleTextTitle
;
import
io.reactivex.disposables.CompositeDisposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
/**
* @author Dankal Android Developer
...
...
@@ -63,6 +61,7 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseView
private
CompositeDisposable
mDisposables
=
new
CompositeDisposable
();
protected
CommonDialog
commonDialog
;
private
LocationManager
lm
=
null
;
private
RxPermissions
mRxPermissions
;
@Override
protected
void
attachBaseContext
(
Context
newBase
)
{
...
...
@@ -90,6 +89,7 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseView
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
ARouter
.
getInstance
().
inject
(
this
);
mRxPermissions
=
new
RxPermissions
(
this
);
/* if(Build.VERSION.SDK_INT>= Build.VERSION_CODES.KITKAT) {
//透明状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
...
...
@@ -183,15 +183,6 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseView
QMUIStatusBarHelper
.
setStatusBarLightMode
(
this
);
}
public
void
setTranslucent
(
Activity
context
,
View
view
)
{
if
(
view
!=
null
)
{
// QMUIStatusBarHelper.translucent(this);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT_WATCH
)
{
view
.
setPadding
(
0
,
QMUIStatusBarHelper
.
getStatusbarHeight
(
context
),
0
,
0
);
}
}
}
/**
* setContentView(LayoutResId)
*
...
...
@@ -418,38 +409,47 @@ public abstract class BaseActivity extends AppCompatActivity implements BaseView
commonDialog
.
show
();
}
@SuppressLint
(
"CheckResult"
)
public
void
requestPermission
(
String
permission
,
PermissionState
permissionState
)
{
AndPermission
.
with
(
this
)
.
runtime
()
.
permission
(
permission
)
.
onDenied
(
permissions
->
{
CommonDialog
.
Builder
builder
=
new
CommonDialog
.
Builder
(
this
);
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
));
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
getResources
().
getColor
(
R
.
color
.
color14
),
type
->
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
));
commonDialog
.
dismiss
();
});
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
getResources
().
getColor
(
R
.
color
.
colorPrimary
),
new
DKCallBackBoolean
()
{
@Override
public
void
action
(
int
type
)
{
toSelfSetting
();
commonDialog
.
dismiss
();
if
(
mRxPermissions
!=
null
)
{
mRxPermissions
.
request
(
permission
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
throws
Exception
{
if
(
aBoolean
)
{
if
(
permissionState
!=
null
)
{
permissionState
.
onPermissionState
();
}
});
commonDialog
=
builder
.
create
();
commonDialog
.
show
();
}).
onGranted
(
data
->
{
//权限被允许
if
(
permissionState
!=
null
)
{
permissionState
.
onPermissionState
();
}
}).
start
();
}
else
{
CommonDialog
.
Builder
builder
=
new
CommonDialog
.
Builder
(
BaseActivity
.
this
);
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
));
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
getResources
().
getColor
(
R
.
color
.
color14
),
type
->
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
));
commonDialog
.
dismiss
();
});
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
getResources
().
getColor
(
R
.
color
.
colorPrimary
),
new
DKCallBackBoolean
()
{
@Override
public
void
action
(
int
type
)
{
toSelfSetting
();
commonDialog
.
dismiss
();
}
});
commonDialog
=
builder
.
create
();
commonDialog
.
show
();
}
}
},
new
Consumer
<
Throwable
>()
{
@Override
public
void
accept
(
Throwable
throwable
)
throws
Exception
{
}
});
}
}
public
interface
PermissionState
{
public
void
onPermissionState
();
void
onPermissionState
();
}
/**
...
...
baselib/src/main/java/cn/dankal/basiclib/base/fragment/BaseFragment.java
View file @
d3e7306b
package
cn
.
dankal
.
basiclib
.
base
.
fragment
;
import
android.annotation.SuppressLint
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.os.Build
;
...
...
@@ -14,8 +15,7 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
com.yanzhenjie.permission.AndPermission
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
butterknife.ButterKnife
;
import
butterknife.Unbinder
;
...
...
@@ -34,6 +34,7 @@ import cn.dankal.basiclib.widget.titlebar.ITitleBar;
import
cn.dankal.basiclib.widget.titlebar.SingleTextTitle
;
import
io.reactivex.disposables.CompositeDisposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
/**
* description: Fragment 基类
...
...
@@ -50,6 +51,7 @@ public abstract class BaseFragment extends Fragment implements BaseView {
protected
CommonDialog
commonDialog
;
private
CompositeDisposable
mDisposables
=
new
CompositeDisposable
();
private
RxPermissions
mRxPermissions
;
protected
boolean
isVisibleToUser
;
@Nullable
...
...
@@ -63,6 +65,7 @@ public abstract class BaseFragment extends Fragment implements BaseView {
@Override
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
mRxPermissions
=
new
RxPermissions
(
getActivity
());
initComponents
();
obtainData
();
}
...
...
@@ -248,39 +251,47 @@ public abstract class BaseFragment extends Fragment implements BaseView {
commonDialog
.
show
();
}
public
void
requestPermission
(
String
permission
,
BaseActivity
.
PermissionState
permissionState
)
{
AndPermission
.
with
(
this
)
.
runtime
()
.
permission
(
permission
)
.
onDenied
(
permissions
->
{
CommonDialog
.
Builder
builder
=
new
CommonDialog
.
Builder
(
getActivity
());
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
));
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
getResources
().
getColor
(
R
.
color
.
color14
),
type
->
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
));
commonDialog
.
dismiss
();
});
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
getResources
().
getColor
(
R
.
color
.
colorPrimary
),
new
DKCallBackBoolean
()
{
@SuppressLint
(
"CheckResult"
)
public
void
requestPermission
(
String
permission
,
PermissionState
permissionState
)
{
if
(
mRxPermissions
!=
null
)
{
mRxPermissions
.
request
(
permission
).
subscribe
(
new
Consumer
<
Boolean
>()
{
@Override
public
void
accept
(
Boolean
aBoolean
)
{
if
(
aBoolean
)
{
if
(
permissionState
!=
null
)
{
permissionState
.
onPermissionState
();
}
}
else
{
CommonDialog
.
Builder
builder
=
new
CommonDialog
.
Builder
(
getActivity
());
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
));
@Override
public
void
action
(
int
type
)
{
toSelfSetting
();
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
getResources
().
getColor
(
R
.
color
.
color14
),
type
->
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
));
commonDialog
.
dismiss
();
}
});
commonDialog
=
builder
.
create
();
commonDialog
.
show
();
}).
onGranted
(
data
->
{
//权限被允许
if
(
permissionState
!=
null
)
{
permissionState
.
onPermissionState
();
}
}).
start
();
});
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
getResources
().
getColor
(
R
.
color
.
colorPrimary
),
new
DKCallBackBoolean
()
{
@Override
public
void
action
(
int
type
)
{
toSelfSetting
();
commonDialog
.
dismiss
();
}
});
commonDialog
=
builder
.
create
();
commonDialog
.
show
();
}
}
},
new
Consumer
<
Throwable
>()
{
@Override
public
void
accept
(
Throwable
throwable
)
throws
Exception
{
}
});
}
}
public
interface
PermissionState
{
public
void
onPermissionState
();
void
onPermissionState
();
}
/**
...
...
module-user/src/main/java/cn/dankal/user/login/LoginActivity.kt
View file @
d3e7306b
package
cn.dankal.user.login
import
android.os.Handler
import
android.support.v4.content.ContextCompat
import
android.text.Editable
import
android.text.TextUtils
import
android.text.TextWatcher
...
...
@@ -27,12 +28,13 @@ import kotlinx.android.synthetic.main.activity_login.*
import
com.google.android.gms.tasks.OnCompleteListener
import
com.google.firebase.iid.FirebaseInstanceId
import
com.mhq.smartorder.wxapi.WXEntryActivity
import
com.tbruyelle.rxpermissions2.RxPermissions
import
com.tencent.mm.opensdk.modelmsg.SendAuth
import
com.tencent.mm.opensdk.openapi.IWXAPI
import
com.tencent.mm.opensdk.openapi.WXAPIFactory
import
com.yanzhenjie.permission.AndPermission
import
com.yanzhenjie.permission.Permission
import
io.reactivex.disposables.Disposable
import
io.reactivex.functions.Consumer
import
okhttp3.ResponseBody
...
...
@@ -55,9 +57,13 @@ class LoginActivity : BaseActivity() {
return
R
.
layout
.
activity_login
}
private
var
mRxPermissions
:
RxPermissions
?
=
null
override
fun
initComponents
()
{
addSingleTitleBar
(
getString
(
R
.
string
.
login
))
mRxPermissions
=
RxPermissions
(
this
)
getLocationPermission
()
iwxapi
=
WXAPIFactory
.
createWXAPI
(
this
,
WXEntryActivity
.
WX_APP_ID
,
true
)
...
...
@@ -94,10 +100,10 @@ class LoginActivity : BaseActivity() {
}
fl_weChat_login
.
setOnClickListener
{
/* if (!UIUtils.isWeixinAvilible(this)) {
ToastUtils.showShort(getString(R.string.please_instal_wechat))
return@setOnClickListener
}*/
/* if (!UIUtils.isWeixinAvilible(this)) {
ToastUtils.showShort(getString(R.string.please_instal_wechat))
return@setOnClickListener
}*/
setWeChatLogin
()
}
...
...
@@ -105,29 +111,32 @@ class LoginActivity : BaseActivity() {
}
private
fun
getLocationPermission
()
{
AndPermission
.
with
(
this
)
.
runtime
()
.
permission
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
READ_PHONE_STATE
)
.
onDenied
{
mRxPermissions
?.
let
{
it
.
request
(
Permission
.
ACCESS_COARSE_LOCATION
,
Permission
.
READ_PHONE_STATE
).
subscribe
({
if
(
it
)
{
//权限被允许
initLocation
()
}
else
{
val
builder
=
CommonDialog
.
Builder
(
this
)
builder
.
setTitle
(
getString
(
R
.
string
.
prohibiting_access_will_affect_your_normal_use
))
builder
.
setNegativeButton
(
getString
(
R
.
string
.
refuse
),
resources
.
getColor
(
R
.
color
.
color14
))
{
ContextCompat
.
getColor
(
this
,
R
.
color
.
color14
))
{
ToastUtils
.
showShort
(
getString
(
R
.
string
.
failed_to_obtain_permission
))
commonDialog
.
dismiss
()
}
builder
.
setPositiveButton
(
getString
(
R
.
string
.
agree_to_open
),
resources
.
getColor
(
R
.
color
.
colorPrimary
))
{
ContextCompat
.
getColor
(
this
,
R
.
color
.
colorPrimary
))
{
toSelfSetting
()
commonDialog
.
dismiss
()
}
commonDialog
=
builder
.
create
()
commonDialog
.
show
()
}.
onGranted
{
//权限被允许
initLocation
()
}.
start
()
}
},
{
})
}
}
/**
...
...
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