Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d2fb1e74 authored by Amit Kumar's avatar Amit Kumar
Browse files

Force reload of apps if empty list is returned (Fixes #17)

parent 48cfdecb
Loading
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -73,6 +73,18 @@ public class BlissLauncher extends Application {
    private void connectAppProvider() {
        Intent intent = new Intent(this, AppProvider.class);
        startService(intent);

        bindService(intent, new ServiceConnection() {
            @Override
            public void onServiceConnected(ComponentName name, IBinder service) {
                AppProvider.LocalBinder localBinder = (AppProvider.LocalBinder) service;
                mAppProvider = localBinder.getService();
            }

            @Override
            public void onServiceDisconnected(ComponentName name) {
            }
        }, Context.BIND_AUTO_CREATE);
    }

    public AppProvider getAppProvider(){
+9 −10
Original line number Diff line number Diff line
@@ -6,18 +6,15 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.LauncherApps;
import android.os.AsyncTask;
import android.os.Binder;
import android.os.IBinder;
import android.os.UserManager;
import android.support.annotation.Nullable;
import android.util.Log;

import org.greenrobot.eventbus.EventBus;
import org.indin.blisslaunchero.framework.broadcast.PackageAddedRemovedHandler;
import org.indin.blisslaunchero.framework.database.model.AppItem;
import org.indin.blisslaunchero.framework.utils.UserHandle;

import java.util.LinkedHashMap;

public class AppProvider extends Service implements Provider {

    private AllAppsList mAllAppsList;
@@ -31,6 +28,8 @@ public class AppProvider extends Service implements Provider {
    public static final String MICROG_PACKAGE = "com.google.android.gms";
    public static final String MUPDF_PACKAGE = "com.artifex.mupdf.mini.app";

    private IBinder mBinder = new LocalBinder();

    private static final String TAG = "AppProvider";

    public AppProvider() {
@@ -173,17 +172,17 @@ public class AppProvider extends Service implements Provider {
    @Override
    public void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
        return mBinder;
    }

    /*public void updateAppsOver(LinkedHashMap<String, AppItem> appItemArrayMap) {
        this.mAllAppsList = appItemArrayMap;
        appsLoaded = true;
    }*/
    public class LocalBinder extends Binder {
        public AppProvider getService(){
            return AppProvider.this;
        }
    }
}
+5 −4
Original line number Diff line number Diff line
package org.indin.blisslaunchero.features.launcher;

import com.jakewharton.rxrelay2.BehaviorRelay;

import org.indin.blisslaunchero.framework.database.model.AppItem;
import android.util.Log;

import java.util.LinkedHashMap;
import com.jakewharton.rxrelay2.BehaviorRelay;

public class AppsRepository {

    private static final String TAG = "AppsRepository";
    private BehaviorRelay<AllAppsList> appsRelay;

    private static AppsRepository sAppsRepository;
@@ -17,6 +17,7 @@ public class AppsRepository {

    public static AppsRepository getAppsRepository(){
        if(sAppsRepository == null){
            Log.d(TAG, "getAppsRepository() called");
            sAppsRepository = new AppsRepository();
        }
        return sAppsRepository;
+27 −18
Original line number Diff line number Diff line
package org.indin.blisslaunchero.features.launcher;

import static android.view.View.GONE;
import static android.view.View.VISIBLE;

import static cyanogenmod.providers.WeatherContract.WeatherColumns.TempUnit.CELSIUS;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.TempUnit.FAHRENHEIT;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.WindSpeedUnit.KPH;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.WindSpeedUnit.MPH;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.LayoutTransition;
@@ -111,13 +119,6 @@ import io.reactivex.schedulers.Schedulers;
import me.relex.circleindicator.CircleIndicator;
import uk.co.chrisjenx.calligraphy.CalligraphyContextWrapper;

import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.TempUnit.CELSIUS;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.TempUnit.FAHRENHEIT;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.WindSpeedUnit.KPH;
import static cyanogenmod.providers.WeatherContract.WeatherColumns.WindSpeedUnit.MPH;

public class LauncherActivity extends AppCompatActivity implements
        AutoCompleteAdapter.OnSuggestionClickListener {

@@ -228,9 +229,12 @@ public class LauncherActivity extends AppCompatActivity implements
                        .subscribeWith(new DisposableObserver<AllAppsList>() {
                            @Override
                            public void onNext(
                                    AllAppsList appItemLinkedHashMap) {
                                if (!allAppsDisplayed) {
                                    allLoadedApps = appItemLinkedHashMap;
                                    AllAppsList allAppsList) {
                                if (allAppsList.launchableApps.size() <= 0) {
                                    BlissLauncher.getApplication(
                                            LauncherActivity.this).getAppProvider().reload();
                                } else {
                                    allLoadedApps = allAppsList;
                                    showApps();
                                }
                            }
@@ -316,11 +320,13 @@ public class LauncherActivity extends AppCompatActivity implements
    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart() called");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume() called");
        overridePendingTransition(R.anim.reenter, R.anim.releave);
        if (mWeatherPanel != null && mWeatherSetupTextView != null) {
            createOrUpdateWeatherPanel();
@@ -330,11 +336,13 @@ public class LauncherActivity extends AppCompatActivity implements
    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop() called");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy() called");
        EventBus.getDefault().unregister(this);
        unregisterReceiver(timeChangedReceiver);
        LocalBroadcastManager.getInstance(this).unregisterReceiver(mWeatherReceiver);
@@ -774,15 +782,16 @@ public class LauncherActivity extends AppCompatActivity implements
    private void createUI() {
        mHorizontalPager.setUiCreated(false);
        mDock.setEnabled(false);
        launchableApps.clear();
        pinnedApps.clear();
        if (storage.isLayoutPresent()) {
            createUIFromStorage();
        } else {

            for (String defaultPinnedAppsPackage : allLoadedApps.defaultPinnedAppsPackages) {
                pinnedApps.add(allLoadedApps.launchableApps.get(defaultPinnedAppsPackage));
            }

            for (Map.Entry<String, AppItem> stringAppItemEntry : allLoadedApps.launchableApps.entrySet()) {
            for (Map.Entry<String, AppItem> stringAppItemEntry : allLoadedApps.launchableApps
                    .entrySet()) {
                launchableApps.add(stringAppItemEntry.getValue());
            }