Remove Splash activity

This commit is contained in:
Shinokuni 2021-09-25 19:01:51 +02:00
parent 71df7a7a31
commit 6cec9b1c86
4 changed files with 32 additions and 90 deletions

View File

@ -45,16 +45,9 @@
<receiver android:name=".notifications.sync.SyncWorker$ReadLaterReceiver" />
<activity android:name=".settings.SettingsActivity" />
<activity
android:name=".SplashActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".account.AccountTypeListActivity" />
<activity
android:name=".account.AddAccountActivity"
android:label="@string/add_account" />
@ -67,7 +60,13 @@
android:name=".itemslist.MainActivity"
android:label="@string/articles"
android:launchMode="singleTask"
android:theme="@style/AppTheme.NoActionBar" />
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".item.ItemActivity"
android:parentActivityName=".itemslist.MainActivity"

View File

@ -1,63 +0,0 @@
package com.readrops.app;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import androidx.appcompat.app.AppCompatActivity;
import com.readrops.app.account.AccountTypeListActivity;
import com.readrops.app.account.AccountViewModel;
import com.readrops.app.itemslist.MainActivity;
import org.koin.android.compat.ViewModelCompat;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers;
public class SplashActivity extends AppCompatActivity {
private static final String TAG = SplashActivity.class.getSimpleName();
private AccountViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
viewModel = ViewModelCompat.getViewModel(this, AccountViewModel.class);
viewModel.getAccountCount()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableSingleObserver<Integer>() {
@Override
public void onSuccess(Integer count) {
if (count > 0) {
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
} else {
Intent intent = new Intent(getApplicationContext(), AccountTypeListActivity.class);
startActivity(intent);
finish();
}
}
@Override
public void onError(Throwable e) {
Log.d(TAG, e.getMessage());
}
});
/*PeriodicWorkRequest request = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES)
.addTag(SyncWorker.Companion.getTAG())
.build();
WorkManager.getInstance(this).enqueueUniquePeriodicWork(SyncWorker.Companion.getTAG(), ExistingPeriodicWorkPolicy.REPLACE, request);*/
}
}

View File

@ -1,5 +1,14 @@
package com.readrops.app.itemslist;
import static com.readrops.app.utils.ReadropsKeys.ACCOUNT;
import static com.readrops.app.utils.ReadropsKeys.ACCOUNT_ID;
import static com.readrops.app.utils.ReadropsKeys.FEEDS;
import static com.readrops.app.utils.ReadropsKeys.FROM_MAIN_ACTIVITY;
import static com.readrops.app.utils.ReadropsKeys.IMAGE_URL;
import static com.readrops.app.utils.ReadropsKeys.ITEM_ID;
import static com.readrops.app.utils.ReadropsKeys.SETTINGS;
import static com.readrops.app.utils.ReadropsKeys.SYNCING;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.Build;
@ -35,6 +44,7 @@ import com.mikepenz.materialdrawer.model.SecondaryDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import com.readrops.app.R;
import com.readrops.app.account.AccountTypeListActivity;
import com.readrops.app.account.AccountViewModel;
import com.readrops.app.addfeed.AddFeedActivity;
import com.readrops.app.databinding.ActivityMainBinding;
import com.readrops.app.item.ItemActivity;
@ -67,15 +77,6 @@ import io.reactivex.disposables.Disposable;
import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers;
import static com.readrops.app.utils.ReadropsKeys.ACCOUNT;
import static com.readrops.app.utils.ReadropsKeys.ACCOUNT_ID;
import static com.readrops.app.utils.ReadropsKeys.FEEDS;
import static com.readrops.app.utils.ReadropsKeys.FROM_MAIN_ACTIVITY;
import static com.readrops.app.utils.ReadropsKeys.IMAGE_URL;
import static com.readrops.app.utils.ReadropsKeys.ITEM_ID;
import static com.readrops.app.utils.ReadropsKeys.SETTINGS;
import static com.readrops.app.utils.ReadropsKeys.SYNCING;
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener,
ReadropsItemTouchCallback.SwipeCallback, ActionMode.Callback {
@ -109,7 +110,21 @@ public class MainActivity extends AppCompatActivity implements SwipeRefreshLayou
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_NoActionBar);
super.onCreate(savedInstanceState);
// surely a better way to do this, but hopefully this code will be replaced with jetpack compose
AccountViewModel accountViewModel = ViewModelCompat.getViewModel(this, AccountViewModel.class);
int accountCount = accountViewModel.getAccountCount()
.subscribeOn(Schedulers.io())
.blockingGet();
if (accountCount == 0) {
Intent intent = new Intent(getApplicationContext(), AccountTypeListActivity.class);
startActivity(intent);
finish();
}
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SplashActivity">
</androidx.constraintlayout.widget.ConstraintLayout>