Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
polysoft-nafmii
/
polysoft-android
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 89039f45
authored
Jul 15, 2021
by
amateur
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
1
1 parent
b00c5e6c
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
238 additions
and
92 deletions
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
app/src/main/java/com/whaty/nafmii/activity/GuideActivity.java → app/src/main/java/com/polysoft/nafmii/fragment/GuideFragment.java
app/src/main/java/com/polysoft/nafmii/utils/TimerUtils.java
app/src/main/java/com/polysoft/nafmii/viewmodel/AdvertisementViewModel.java
app/src/main/java/com/whaty/nafmii/activity/BaseActivity.java
app/src/main/java/com/whaty/nafmii/activity/IActivityEvent.java
app/src/main/java/com/whaty/nafmii/activity/MainActivity.java
app/src/main/java/com/polysoft/nafmii/fragment/AdvertisementFragment.java
View file @
89039f4
...
@@ -20,24 +20,23 @@ import com.bumptech.glide.Glide;
...
@@ -20,24 +20,23 @@ import com.bumptech.glide.Glide;
import
com.bumptech.glide.request.target.DrawableImageViewTarget
;
import
com.bumptech.glide.request.target.DrawableImageViewTarget
;
import
com.bumptech.glide.request.transition.Transition
;
import
com.bumptech.glide.request.transition.Transition
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.
whaty.nafmii.BuildConfig
;
import
com.
polysoft.nafmii.viewmodel.AdvertisementViewModel
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.activity.HomeActivity
;
import
com.whaty.nafmii.activity.AdvertisementWebviewActvity
;
import
com.whaty.nafmii.activity.InputUrlActivity
;
import
com.whaty.nafmii.activity.IActivityEvent
;
import
com.whaty.nafmii.activity.TestHomeActivity
;
public
class
AdvertisementFragment
extends
Fragment
implements
View
.
OnClickListener
{
public
class
AdvertisementFragment
extends
Fragment
implements
View
.
OnClickListener
{
private
ImageView
mImgView
;
private
ImageView
mImgView
;
private
TextView
mCountDown
;
private
TextView
mCountDown
;
private
boolean
finished
=
false
;
private
AdvertisementFragment
()
{
public
static
AdvertisementFragment
newInstance
(
String
data
)
{
}
AdvertisementFragment
fragment
=
new
AdvertisementFragment
();
Bundle
args
=
new
Bundle
();
public
static
Fragment
getInstance
(
String
data
)
{
args
.
putString
(
"data"
,
data
);
Fragment
fragment
=
new
AdvertisementFragment
();
fragment
.
setArguments
(
args
);
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"data"
,
data
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
return
fragment
;
}
}
...
@@ -55,12 +54,26 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
...
@@ -55,12 +54,26 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
this
.
mImgView
=
view
.
findViewById
(
R
.
id
.
advertisement_imgview
);
this
.
mImgView
=
view
.
findViewById
(
R
.
id
.
advertisement_imgview
);
this
.
mCountDown
=
view
.
findViewById
(
R
.
id
.
advertisement_countdown
);
this
.
mCountDown
=
view
.
findViewById
(
R
.
id
.
advertisement_countdown
);
this
.
loadAdvertisementImage
();
this
.
mImgView
.
setOnClickListener
(
this
);
AdvertisementViewModel
.
newInstance
(
getActivity
()).
observe
(
data
->{
System
.
out
.
println
(
"=====>>>>>data "
);
});
// this.loadAdvertisementImage();
this
.
loadAdvertisementImageTest
();
}
}
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
this
.
gotoHome
();
if
(
v
.
getId
()
==
R
.
id
.
advertisement_pass
)
{
this
.
dispatchActivityEvent
();
}
else
if
(
v
.
getId
()
==
R
.
id
.
advertisement_imgview
)
{
if
(
this
.
setFinishedFlag
())
{
IntentUtils
.
startActivity
(
getActivity
(),
AdvertisementWebviewActvity
.
class
);
}
}
}
}
private
void
loadAdvertisementImage
()
{
private
void
loadAdvertisementImage
()
{
...
@@ -80,6 +93,12 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
...
@@ -80,6 +93,12 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
});
});
}
}
private
void
loadAdvertisementImageTest
()
{
this
.
mImgView
.
setImageResource
(
R
.
mipmap
.
advertisement
);
this
.
startCountDown
();
}
private
void
startCountDown
()
{
private
void
startCountDown
()
{
long
unit
=
1000
,
maxSecond
=
5
;
long
unit
=
1000
,
maxSecond
=
5
;
mCountDown
.
setText
(
String
.
format
(
"%ds"
,
maxSecond
));
mCountDown
.
setText
(
String
.
format
(
"%ds"
,
maxSecond
));
...
@@ -87,24 +106,28 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
...
@@ -87,24 +106,28 @@ public class AdvertisementFragment extends Fragment implements View.OnClickListe
@Override
@Override
public
void
onTick
(
long
millisUntilFinished
)
{
public
void
onTick
(
long
millisUntilFinished
)
{
long
second
=
millisUntilFinished
/
unit
;
long
second
=
millisUntilFinished
/
unit
;
Log
.
d
(
"CountDownTimer"
,
"onTick: "
+
second
);
mCountDown
.
setText
(
String
.
format
(
"%ds"
,
second
));
mCountDown
.
setText
(
String
.
format
(
"%ds"
,
second
));
}
}
@Override
@Override
public
void
onFinish
()
{
public
void
onFinish
()
{
gotoHome
();
dispatchActivityEvent
();
}
}
}.
start
();
}.
start
();
}
}
private
synchronized
void
gotoHome
()
{
private
void
dispatchActivityEvent
()
{
if
(
null
!=
getActivity
()
&&
!
getActivity
().
isFinishing
())
{
if
(
this
.
setFinishedFlag
())
{
if
(
BuildConfig
.
SHOW_INPUT
)
{
IActivityEvent
activity
=
(
IActivityEvent
)
getActivity
();
IntentUtils
.
startActivity
(
getActivity
(),
InputUrlActivity
.
class
);
activity
.
dispatchEvent
(
IActivityEvent
.
EVENT_ADVERTISEMENT
);
}
else
{
}
IntentUtils
.
startActivity
(
getActivity
(),
HomeActivity
.
class
);
}
}
private
synchronized
boolean
setFinishedFlag
()
{
if
(!
this
.
finished
)
{
this
.
finished
=
true
;
return
true
;
}
}
return
false
;
}
}
}
}
app/src/main/java/com/
whaty/nafmii/activity/GuideActivity
.java
→
app/src/main/java/com/
polysoft/nafmii/fragment/GuideFragment
.java
View file @
89039f4
package
com
.
whaty
.
nafmii
.
activity
;
package
com
.
polysoft
.
nafmii
.
fragment
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.view.
KeyEvent
;
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.RadioButton
;
import
android.widget.RadioButton
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.PagerAdapter
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.viewpager.widget.ViewPager
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.SpUtils
;
import
com.polysoft.nafmii.utils.SpUtils
;
import
com.whaty.nafmii.BuildConfig
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.activity.IActivityEvent
;
import
com.whaty.nafmii.activity.TestHomeActivity
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
public
class
Guide
Activity
extends
BaseActivity
implements
View
.
OnClickListener
{
public
class
Guide
Fragment
extends
Fragment
implements
View
.
OnClickListener
{
public
static
GuideFragment
newInstance
()
{
Bundle
args
=
new
Bundle
();
GuideFragment
fragment
=
new
GuideFragment
();
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Nullable
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
return
View
.
inflate
(
container
.
getContext
(),
R
.
layout
.
fragment_guide
,
null
);
super
.
setContentView
(
R
.
layout
.
activity_guide
);
this
.
initView
();
}
}
private
void
initView
()
{
@Override
ViewPager
viewPager
=
super
.
findViewById
(
R
.
id
.
guide_viewpager
);
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
this
.
initView
(
view
);
}
private
void
initView
(
View
view
)
{
ViewPager
viewPager
=
view
.
findViewById
(
R
.
id
.
guide_viewpager
);
List
<
View
>
viewList
=
this
.
initGuideImage
();
List
<
View
>
viewList
=
this
.
initGuideImage
();
viewPager
.
setAdapter
(
new
ViewPagerAdapter
(
viewList
));
viewPager
.
setAdapter
(
new
ViewPagerAdapter
(
viewList
));
viewPager
.
setCurrentItem
(
0
);
viewPager
.
setCurrentItem
(
0
);
RadioButton
point1
=
super
.
findViewById
(
R
.
id
.
guide_point1
);
RadioButton
point1
=
view
.
findViewById
(
R
.
id
.
guide_point1
);
RadioButton
point2
=
super
.
findViewById
(
R
.
id
.
guide_point2
);
RadioButton
point2
=
view
.
findViewById
(
R
.
id
.
guide_point2
);
RadioButton
point3
=
super
.
findViewById
(
R
.
id
.
guide_point3
);
RadioButton
point3
=
view
.
findViewById
(
R
.
id
.
guide_point3
);
RadioButton
[]
points
=
new
RadioButton
[]{
point1
,
point2
,
point3
};
RadioButton
[]
points
=
new
RadioButton
[]{
point1
,
point2
,
point3
};
View
goHomeBtn
=
super
.
findViewById
(
R
.
id
.
guide_btn_gohome
);
View
goHomeBtn
=
view
.
findViewById
(
R
.
id
.
guide_btn_gohome
);
goHomeBtn
.
setOnClickListener
(
this
);
goHomeBtn
.
setOnClickListener
(
this
);
viewPager
.
addOnPageChangeListener
(
new
ViewPager
.
OnPageChangeListener
()
{
viewPager
.
addOnPageChangeListener
(
new
ViewPager
.
OnPageChangeListener
()
{
...
@@ -65,7 +81,7 @@ public class GuideActivity extends BaseActivity implements View.OnClickListener
...
@@ -65,7 +81,7 @@ public class GuideActivity extends BaseActivity implements View.OnClickListener
List
<
View
>
viewList
=
new
ArrayList
<>();
List
<
View
>
viewList
=
new
ArrayList
<>();
int
match
=
ViewGroup
.
LayoutParams
.
MATCH_PARENT
;
int
match
=
ViewGroup
.
LayoutParams
.
MATCH_PARENT
;
for
(
int
i
=
0
;
i
<
arrays
.
length
;
i
++)
{
for
(
int
i
=
0
;
i
<
arrays
.
length
;
i
++)
{
ImageView
imageView
=
new
ImageView
(
this
);
ImageView
imageView
=
new
ImageView
(
getContext
()
);
imageView
.
setImageResource
(
arrays
[
i
]);
imageView
.
setImageResource
(
arrays
[
i
]);
imageView
.
setLayoutParams
(
new
ViewGroup
.
LayoutParams
(
match
,
match
));
imageView
.
setLayoutParams
(
new
ViewGroup
.
LayoutParams
(
match
,
match
));
imageView
.
setScaleType
(
ImageView
.
ScaleType
.
FIT_XY
);
imageView
.
setScaleType
(
ImageView
.
ScaleType
.
FIT_XY
);
...
@@ -77,20 +93,10 @@ public class GuideActivity extends BaseActivity implements View.OnClickListener
...
@@ -77,20 +93,10 @@ public class GuideActivity extends BaseActivity implements View.OnClickListener
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
if
(
v
.
getId
()
==
R
.
id
.
guide_btn_gohome
)
{
if
(
v
.
getId
()
==
R
.
id
.
guide_btn_gohome
)
{
SpUtils
.
putBoolean
(
"isFirstRun"
,
true
);
((
IActivityEvent
)
getActivity
()).
dispatchEvent
(
IActivityEvent
.
EVENT_GUIDE
);
// if (BuildConfig.SHOW_INPUT) {
// IntentUtils.startActivity(this, InputUrlActivity.class);
// } else {
// IntentUtils.startActivity(this, HomeActivity.class);
// }
IntentUtils
.
startActivity
(
this
,
TestActivity
.
class
);
}
}
}
}
@Override
public
boolean
onKeyDown
(
int
keyCode
,
KeyEvent
event
)
{
return
false
;
}
class
ViewPagerAdapter
extends
PagerAdapter
{
class
ViewPagerAdapter
extends
PagerAdapter
{
private
List
<
View
>
viewList
=
new
ArrayList
<>();
private
List
<
View
>
viewList
=
new
ArrayList
<>();
...
...
app/src/main/java/com/polysoft/nafmii/utils/TimerUtils.java
0 → 100644
View file @
89039f4
package
com
.
polysoft
.
nafmii
.
utils
;
import
android.os.CountDownTimer
;
import
android.os.Handler
;
public
class
TimerUtils
{
public
static
void
setTimeOut
(
Handler
.
Callback
callback
,
long
millisInFuture
)
{
new
CountDownTimer
(
millisInFuture
,
1000
)
{
@Override
public
void
onTick
(
long
millisUntilFinished
)
{
}
@Override
public
void
onFinish
()
{
callback
.
handleMessage
(
null
);
}
}.
start
();
}
}
app/src/main/java/com/polysoft/nafmii/viewmodel/AdvertisementViewModel.java
0 → 100644
View file @
89039f4
package
com
.
polysoft
.
nafmii
.
viewmodel
;
import
android.app.Activity
;
import
android.text.TextUtils
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.MutableLiveData
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModel
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelStoreOwner
;
import
com.polysoft.nafmii.utils.TimerUtils
;
import
com.whaty.nafmii.BuildConfig
;
public
class
AdvertisementViewModel
extends
ViewModel
{
private
MutableLiveData
<
LiveData
>
data
=
new
MutableLiveData
<>();
private
final
LifecycleOwner
owner
;
public
static
AdvertisementViewModel
newInstance
(
FragmentActivity
owner
)
{
ViewModelProvider
.
Factory
factory
=
new
ViewModelProvider
.
Factory
()
{
@NonNull
@Override
public
<
T
extends
ViewModel
>
T
create
(
@NonNull
Class
<
T
>
modelClass
)
{
return
(
T
)
new
AdvertisementViewModel
(
owner
);
}
};
return
new
ViewModelProvider
(
owner
,
factory
).
get
(
AdvertisementViewModel
.
class
);
}
AdvertisementViewModel
(
LifecycleOwner
owner
)
{
this
.
owner
=
owner
;
System
.
out
.
println
(
"=====================>>>>>AdvertisementViewModel"
);
TimerUtils
.
setTimeOut
(
msg
->
{
this
.
data
.
setValue
(
new
LiveData
());
return
false
;
},
1000
);
}
public
void
observe
(
Observer
<
LiveData
>
observer
)
{
this
.
data
.
observe
(
this
.
owner
,
observer
);
}
public
static
class
LiveData
{
public
String
json
;
public
boolean
empty
()
{
if
(
BuildConfig
.
DEBUG
)
{
return
true
;
}
return
TextUtils
.
isEmpty
(
json
);
}
}
}
app/src/main/java/com/whaty/nafmii/activity/BaseActivity.java
View file @
89039f4
...
@@ -4,6 +4,9 @@ import android.os.Bundle;
...
@@ -4,6 +4,9 @@ import android.os.Bundle;
import
android.view.KeyEvent
;
import
android.view.KeyEvent
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
com.polysoft.nafmii.utils.StatusBarUtils
;
import
com.polysoft.nafmii.utils.StatusBarUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
...
@@ -11,7 +14,7 @@ import com.polysoft.nafmii.utils.ToastUtils;
...
@@ -11,7 +14,7 @@ import com.polysoft.nafmii.utils.ToastUtils;
import
java.util.Timer
;
import
java.util.Timer
;
import
java.util.TimerTask
;
import
java.util.TimerTask
;
public
class
BaseActivity
extends
AppCompatActivity
{
public
class
BaseActivity
extends
AppCompatActivity
implements
IActivityEvent
{
private
boolean
mBackKeyPressed
=
false
;
private
boolean
mBackKeyPressed
=
false
;
...
@@ -61,4 +64,18 @@ public class BaseActivity extends AppCompatActivity {
...
@@ -61,4 +64,18 @@ public class BaseActivity extends AppCompatActivity {
}
}
return
super
.
onKeyDown
(
keyCode
,
event
);
return
super
.
onKeyDown
(
keyCode
,
event
);
}
}
public
FragmentTransaction
newFragmentTransaction
()
{
FragmentManager
manager
=
super
.
getSupportFragmentManager
();
return
manager
.
beginTransaction
();
}
public
Fragment
findFragmentTag
(
String
tag
)
{
return
super
.
getSupportFragmentManager
().
findFragmentByTag
(
tag
);
}
@Override
public
void
dispatchEvent
(
String
event
)
{
}
}
}
\ No newline at end of file
\ No newline at end of file
app/src/main/java/com/whaty/nafmii/activity/IActivityEvent.java
0 → 100644
View file @
89039f4
package
com
.
whaty
.
nafmii
.
activity
;
public
interface
IActivityEvent
{
String
EVENT_GUIDE
=
"EVENT_GUIDE"
;
String
EVENT_ADVERTISEMENT
=
"EVENT_ADVERTISEMENT"
;
void
dispatchEvent
(
String
event
);
}
app/src/main/java/com/whaty/nafmii/activity/MainActivity.java
View file @
89039f4
package
com
.
whaty
.
nafmii
.
activity
;
package
com
.
whaty
.
nafmii
.
activity
;
import
android.Manifest
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.CountDownTimer
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentTransaction
;
import
androidx.fragment.app.FragmentTransaction
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.polysoft.nafmii.constants.ServerApi
;
import
com.polysoft.nafmii.enums.StateEnum
;
import
com.polysoft.nafmii.fragment.AdvertisementFragment
;
import
com.polysoft.nafmii.fragment.AdvertisementFragment
;
import
com.polysoft.nafmii.net.RequestBack
;
import
com.polysoft.nafmii.fragment.GuideFragment
;
import
com.polysoft.nafmii.utils.CtxUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.IntentUtils
;
import
com.polysoft.nafmii.utils.PermissionUtils
;
import
com.polysoft.nafmii.utils.PermissionUtils
;
import
com.polysoft.nafmii.utils.SpUtils
;
import
com.polysoft.nafmii.utils.SpUtils
;
import
com.polysoft.nafmii.utils.TimerUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
import
com.polysoft.nafmii.utils.ToastUtils
;
import
com.polysoft.nafmii.viewmodel.AdvertisementViewModel
;
import
com.polysoft.nafmii.webview.X5Core
;
import
com.polysoft.nafmii.webview.X5Core
;
import
com.whaty.nafmii.R
;
import
com.whaty.nafmii.R
;
public
class
MainActivity
extends
BaseActivity
{
public
class
MainActivity
extends
BaseActivity
{
private
static
final
String
TAG
=
MainActivity
.
class
.
getName
()
;
private
AdvertisementViewModel
.
LiveData
mAdvertisementData
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
@@ -33,14 +31,6 @@ public class MainActivity extends BaseActivity {
...
@@ -33,14 +31,6 @@ public class MainActivity extends BaseActivity {
this
.
checkAndRequestPermission
();
this
.
checkAndRequestPermission
();
}
}
private
void
checkAndRequestPermission
()
{
String
[]
permissions
=
new
String
[]{
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
CAMERA
};
PermissionUtils
.
requestMorePermissions
(
this
,
permissions
);
}
@Override
@Override
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
if
(
requestCode
!=
PermissionUtils
.
REQUEST_CODE
)
{
if
(
requestCode
!=
PermissionUtils
.
REQUEST_CODE
)
{
...
@@ -49,50 +39,69 @@ public class MainActivity extends BaseActivity {
...
@@ -49,50 +39,69 @@ public class MainActivity extends BaseActivity {
if
(
this
.
checkPermissionSetting
())
{
if
(
this
.
checkPermissionSetting
())
{
X5Core
.
init
();
X5Core
.
init
();
this
.
showAdvertisement
();
this
.
showLayout
();
}
}
@Override
public
void
dispatchEvent
(
String
event
)
{
if
(
IActivityEvent
.
EVENT_GUIDE
.
equals
(
event
))
{
SpUtils
.
putBoolean
(
getFirstRunKey
(),
true
);
IntentUtils
.
startActivity
(
this
,
TestHomeActivity
.
class
);
}
else
if
(
IActivityEvent
.
EVENT_ADVERTISEMENT
.
equals
(
event
))
{
IntentUtils
.
startActivity
(
this
,
TestHomeActivity
.
class
);
}
}
}
}
private
void
checkAndRequestPermission
()
{
String
[]
permissions
=
new
String
[]{
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
,
Manifest
.
permission
.
CAMERA
};
PermissionUtils
.
requestMorePermissions
(
this
,
permissions
);
}
private
boolean
checkPermissionSetting
()
{
private
boolean
checkPermissionSetting
()
{
// 必要读写权限申请失败
// 必要读写权限申请失败
if
(!
PermissionUtils
.
checkPermission
(
this
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
))
{
if
(!
PermissionUtils
.
checkPermission
(
this
,
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
))
{
ToastUtils
.
showLong
(
"请授权APP必要运行权限"
);
ToastUtils
.
showLong
(
"请授权APP必要运行权限"
);
new
CountDownTimer
(
2000
,
1000
)
{
TimerUtils
.
setTimeOut
(
msg
->
{
@Override
public
void
onTick
(
long
millisUntilFinished
)
{
}
@Override
public
void
onFinish
()
{
PermissionUtils
.
toAppSetting
(
MainActivity
.
this
);
PermissionUtils
.
toAppSetting
(
MainActivity
.
this
);
}
return
false
;
}
.
start
(
);
}
,
2000
);
return
false
;
return
false
;
}
}
return
true
;
return
true
;
}
}
private
void
showAdvertisement
()
{
private
void
showLayout
()
{
if
(!
SpUtils
.
getBoolean
(
"isFirstRun"
,
false
))
{
AdvertisementViewModel
.
newInstance
(
this
).
observe
(
data
->
this
.
mAdvertisementData
=
data
);
IntentUtils
.
startActivity
(
this
,
GuideActivity
.
class
);
return
;
// 延时2秒获取广告数据
}
TimerUtils
.
setTimeOut
(
msg
->
{
ServerApi
.
get
(
ServerApi
.
getAdvertSettings
,
new
RequestBack
<
JSONObject
>()
{
if
(!
SpUtils
.
getBoolean
(
this
.
getFirstRunKey
(),
false
))
{
@Override
FragmentTransaction
transaction
=
super
.
newFragmentTransaction
();
protected
void
onResponse
(
StateEnum
state
,
JSONObject
data
,
String
message
)
{
transaction
.
replace
(
R
.
id
.
main_framelayout
,
GuideFragment
.
newInstance
()).
commit
();
if
(
state
==
StateEnum
.
OK
)
{
}
else
{
JSONArray
jsonArray
=
data
.
getJSONArray
(
"item"
);
this
.
showAdvertisement
();
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
item
=
jsonArray
.
getJSONObject
(
i
);
Fragment
fragment
=
AdvertisementFragment
.
getInstance
(
item
.
toJSONString
());
FragmentManager
manager
=
getSupportFragmentManager
();
FragmentTransaction
transaction
=
manager
.
beginTransaction
();
transaction
.
replace
(
R
.
id
.
main_framelayout
,
fragment
).
commit
();
return
;
}
}
return
false
;
},
2000
);
}
}
private
synchronized
void
showAdvertisement
()
{
if
(
null
==
this
.
mAdvertisementData
||
this
.
mAdvertisementData
.
empty
())
{
this
.
dispatchEvent
(
IActivityEvent
.
EVENT_ADVERTISEMENT
);
return
;
}
}
});
FragmentTransaction
transaction
=
super
.
newFragmentTransaction
();
Fragment
fragment
=
AdvertisementFragment
.
newInstance
(
""
);
transaction
.
replace
(
R
.
id
.
main_framelayout
,
fragment
).
commit
();
}
}
@SuppressLint
(
"DefaultLocale"
)
private
String
getFirstRunKey
()
{
int
versionCode
=
CtxUtils
.
getPackageInfo
().
versionCode
;
return
String
.
format
(
"ISFIRSTRUN_%d"
,
versionCode
);
}
}
}
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
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 post a comment