|
|
@@ -1,6 +1,5 @@
|
|
|
package kr.co.zumo.app.lifeplus.activity;
|
|
|
|
|
|
-import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
import android.support.annotation.NonNull;
|
|
|
import android.support.v4.app.ActivityCompat;
|
|
|
@@ -10,18 +9,10 @@ import android.view.View;
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
|
-import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
-import io.reactivex.disposables.CompositeDisposable;
|
|
|
-import io.reactivex.schedulers.Schedulers;
|
|
|
import kr.co.zumo.app.R;
|
|
|
import kr.co.zumo.app.lifeplus.application.App;
|
|
|
-import kr.co.zumo.app.lifeplus.config.NetworkConfigProvider;
|
|
|
-import kr.co.zumo.app.lifeplus.helper.AppShieldHelper;
|
|
|
-import kr.co.zumo.app.lifeplus.helper.FirebaseHelper;
|
|
|
-import kr.co.zumo.app.lifeplus.model.SuperModel;
|
|
|
import kr.co.zumo.app.lifeplus.model.SuperModelInit;
|
|
|
import kr.co.zumo.app.lifeplus.model.module.APIModuleHelper;
|
|
|
-import kr.co.zumo.app.lifeplus.network.NetworkWatcher;
|
|
|
|
|
|
/**
|
|
|
* Splash 화면
|
|
|
@@ -35,23 +26,22 @@ import kr.co.zumo.app.lifeplus.network.NetworkWatcher;
|
|
|
*/
|
|
|
public class SplashActivity extends ActivityBaseSetup implements ISplashContract.View {
|
|
|
|
|
|
- CompositeDisposable disposable = new CompositeDisposable();
|
|
|
- ScreenStarter starter;
|
|
|
-
|
|
|
ISplashContract.Presenter presenter;
|
|
|
|
|
|
+ private final int REQUEST_CODE = 9909;
|
|
|
+
|
|
|
@Override
|
|
|
protected void setup() {
|
|
|
|
|
|
+ SuperModelInit.instant(App.getInstance().getContext());
|
|
|
+
|
|
|
// for visible loading...
|
|
|
rootView.setVisibility(View.VISIBLE);
|
|
|
|
|
|
Log.d("APP# SplashActivity | setup", "|" + "========== setup..............");
|
|
|
|
|
|
- SuperModelInit.instant(getApplicationContext());
|
|
|
presenter = new SplashPresenter(new SplashModel(), this);
|
|
|
-
|
|
|
- presenter.launchAllPermission();
|
|
|
+ presenter.start();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -59,58 +49,6 @@ public class SplashActivity extends ActivityBaseSetup implements ISplashContract
|
|
|
presenter.onResume();
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- private void next() {
|
|
|
- setupInternal();
|
|
|
- }
|
|
|
-
|
|
|
- protected void setupInternal() {
|
|
|
-
|
|
|
- Context context = App.getInstance().getContext();
|
|
|
-
|
|
|
- // 앱이 실행 중인지 판단한다.
|
|
|
- if (SuperModel.getInstance().isAppInitialized()) {
|
|
|
- Log.e("APP# SplashActivity | setupInternal", "|" + " restart from call...........");
|
|
|
-
|
|
|
- finish();
|
|
|
- doOnLink();
|
|
|
- }
|
|
|
- else {
|
|
|
- Log.e("APP# SplashActivity | setupInternal", "|" + " first ...........................");
|
|
|
-
|
|
|
- SuperModelInit.instant(getApplicationContext());
|
|
|
-
|
|
|
- NetworkConfigProvider.init();
|
|
|
-
|
|
|
- starter = new ScreenStarter(this);
|
|
|
-
|
|
|
- AppShieldHelper.getInstance().checkApp(context);
|
|
|
-
|
|
|
- // 네트워크 연결 체크
|
|
|
- disposable.add(
|
|
|
- new NetworkWatcher().check(context)
|
|
|
- .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(isConnected -> {
|
|
|
- disposable.dispose();
|
|
|
-
|
|
|
- starter.launch(isConnected, (context1, fragmentFlag) -> {
|
|
|
- /*
|
|
|
- App init
|
|
|
- */
|
|
|
-
|
|
|
- AppInitializer.init(context);
|
|
|
-
|
|
|
- // topic 가입
|
|
|
- FirebaseHelper.getInstance().subscribeToTopic();
|
|
|
-
|
|
|
- linkActivity(fragmentFlag);
|
|
|
-
|
|
|
- });
|
|
|
- }, Throwable::printStackTrace)
|
|
|
- );
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
protected boolean allowCountActivity() {
|
|
|
return false;
|
|
|
@@ -123,13 +61,9 @@ public class SplashActivity extends ActivityBaseSetup implements ISplashContract
|
|
|
|
|
|
@Override
|
|
|
protected void onAfterDestroy() {
|
|
|
- if (null != starter) {
|
|
|
- starter.dispose();
|
|
|
- starter = null;
|
|
|
- }
|
|
|
- if (null != disposable) {
|
|
|
- disposable.dispose();
|
|
|
- disposable = null;
|
|
|
+ if (null != presenter) {
|
|
|
+ presenter.dispose();
|
|
|
+ presenter = null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -139,21 +73,6 @@ public class SplashActivity extends ActivityBaseSetup implements ISplashContract
|
|
|
|
|
|
@Override
|
|
|
protected void onAfterNewIntent(Intent intent) {
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- private void linkActivity(int fragmentFlag) {
|
|
|
- Intent intent = new Intent(this, MainActivity.class);
|
|
|
- intent.putExtra(ScreenStarter.SCREEN_ID, fragmentFlag);
|
|
|
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
-
|
|
|
- if (false == APIModuleHelper.isDispatched()) {
|
|
|
- finish();
|
|
|
- overridePendingTransition(R.anim.none, R.anim.none);
|
|
|
- startActivity(intent, SLIDE_TYPE_HOME);
|
|
|
-
|
|
|
- doOnLink();
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/***********************************
|
|
|
@@ -165,21 +84,36 @@ public class SplashActivity extends ActivityBaseSetup implements ISplashContract
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void onPermissionCompleted() {
|
|
|
- // 권한 처리 종료 -> 앱 시작
|
|
|
- next();
|
|
|
+ public void requestLocationPermissions(@NonNull String[] permissions) {
|
|
|
+ Log.i("APP# SplashActivity | requestLocationPermissions", "|" + " permissions: " + Arrays.toString(permissions));
|
|
|
+ ActivityCompat.requestPermissions(this, permissions, REQUEST_CODE);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void requestLocationPermissions(@NonNull String[] permissions) {
|
|
|
- Log.i("APP# SplashActivity | requestLocationPermissions", "|" + " permissions: " + Arrays.toString(permissions));
|
|
|
- ActivityCompat.requestPermissions(this, permissions, 9909);
|
|
|
+ public void onLink() {
|
|
|
+ doOnLink();
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void linkActivity(int screenId) {
|
|
|
+ Intent intent = new Intent(this, MainActivity.class);
|
|
|
+ intent.putExtra(ScreenStarter.SCREEN_ID, screenId);
|
|
|
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
|
|
+
|
|
|
+ if (false == APIModuleHelper.isDispatched()) {
|
|
|
+ finish();
|
|
|
+ overridePendingTransition(R.anim.none, R.anim.none);
|
|
|
+ startActivity(intent, SLIDE_TYPE_HOME);
|
|
|
+
|
|
|
+ doOnLink();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
|
|
|
switch (requestCode) {
|
|
|
- case 9909: {
|
|
|
+ case REQUEST_CODE: {
|
|
|
presenter.onRequestPermissionsResult(permissions, grantResults);
|
|
|
break;
|
|
|
}
|