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

Commit 903e51c3 authored by Amit Kumar's avatar Amit Kumar
Browse files

Fixes #17

parents ad195549 d2fb1e74
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(){
+26 −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;
@@ -28,6 +25,10 @@ public class AppProvider extends Service implements Provider {

    private AppsRepository mAppsRepository;

    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";

@@ -49,6 +50,11 @@ public class AppProvider extends Service implements Provider {
            public void onPackageRemoved(String packageName, android.os.UserHandle user) {
                Log.d(TAG, "onPackageRemoved() called with: packageName = [" + packageName
                        + "], user = [" + user + "]");

                if(packageName.equalsIgnoreCase(MICROG_PACKAGE)|| packageName.equalsIgnoreCase(MUPDF_PACKAGE)){
                    return;
                }

                PackageAddedRemovedHandler.handleEvent(AppProvider.this,
                        "android.intent.action.PACKAGE_REMOVED",
                        packageName, new UserHandle(manager.getSerialNumberForUser(user), user),
@@ -60,6 +66,11 @@ public class AppProvider extends Service implements Provider {
            public void onPackageAdded(String packageName, android.os.UserHandle user) {
                Log.d(TAG, "onPackageAdded() called with: packageName = [" + packageName
                        + "], user = [" + user + "]");

                if(packageName.equalsIgnoreCase(MICROG_PACKAGE)|| packageName.equalsIgnoreCase(MUPDF_PACKAGE)){
                    return;
                }

                PackageAddedRemovedHandler.handleEvent(AppProvider.this,
                        "android.intent.action.PACKAGE_ADDED",
                        packageName, new UserHandle(manager.getSerialNumberForUser(user), user),
@@ -71,6 +82,11 @@ public class AppProvider extends Service implements Provider {
            public void onPackageChanged(String packageName, android.os.UserHandle user) {
                Log.d(TAG, "onPackageChanged() called with: packageName = [" + packageName
                        + "], user = [" + user + "]");

                if(packageName.equalsIgnoreCase(MICROG_PACKAGE)|| packageName.equalsIgnoreCase(MUPDF_PACKAGE)){
                    return;
                }

                PackageAddedRemovedHandler.handleEvent(AppProvider.this,
                        "android.intent.action.PACKAGE_CHANGED",
                        packageName, new UserHandle(manager.getSerialNumberForUser(user), user),
@@ -156,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;
+19 −40
Original line number Diff line number Diff line
@@ -12,14 +12,11 @@ import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.LayoutTransition;
import android.app.Activity;
import android.app.WallpaperManager;
import android.app.usage.UsageStats;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
@@ -37,7 +34,6 @@ import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.TypedValue;
import android.view.DragEvent;
@@ -59,7 +55,6 @@ import android.widget.TextView;
import android.widget.Toast;

import com.crashlytics.android.Crashlytics;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.jakewharton.rxbinding2.widget.RxTextView;

import org.greenrobot.eventbus.EventBus;
@@ -234,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();
                                }
                            }
@@ -322,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();
@@ -336,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);
@@ -572,7 +574,6 @@ public class LauncherActivity extends AppCompatActivity implements

    public void showApps() {
        allAppsDisplayed = true;
        showIconPackWallpaperFirstTime();
        mProgressBar.setVisibility(GONE);
        createUI();
        isUiDone = true;
@@ -660,29 +661,6 @@ public class LauncherActivity extends AppCompatActivity implements
        return false;
    }

    private void showIconPackWallpaperFirstTime() {
        if (Preferences.isFirstTime(this)) {
            Bitmap bmap2 = BitmapFactory.decodeStream(
                    getResources().openRawResource(+R.drawable.graphics_1));

            DisplayMetrics metrics = new DisplayMetrics();
            getWindowManager().getDefaultDisplay().getMetrics(metrics);
            int height = metrics.heightPixels;
            int width = metrics.widthPixels;
            Bitmap bitmap = Bitmap.createScaledBitmap(bmap2, width, height, true);

            WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);
            try {
                wallpaperManager.setResource(+R.drawable.graphics_1);
                wallpaperManager.setBitmap(bitmap);
                Preferences.setFirstTimeDone(this);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    /**
     * Adds a listener to the folder title.
     * When clicked, the TextView transforms into an EditText.
@@ -804,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());
            }

+12 −1
Original line number Diff line number Diff line
@@ -21,8 +21,9 @@ import android.util.Log;
import org.indin.blisslaunchero.BlissLauncher;
import org.indin.blisslaunchero.R;
import org.indin.blisslaunchero.features.launcher.AllAppsList;
import org.indin.blisslaunchero.framework.database.model.AppItem;
import org.indin.blisslaunchero.features.launcher.AppProvider;
import org.indin.blisslaunchero.framework.IconsHandler;
import org.indin.blisslaunchero.framework.database.model.AppItem;

import java.text.Collator;
import java.util.ArrayList;
@@ -55,6 +56,11 @@ public class AppUtils {
            for (LauncherActivityInfo activityInfo : launcher.getActivityList(null, profile)) {
                ApplicationInfo appInfo = activityInfo.getApplicationInfo();

                if (appInfo.packageName.equalsIgnoreCase(AppProvider.MICROG_PACKAGE)
                        || appInfo.packageName.equalsIgnoreCase(AppProvider.MUPDF_PACKAGE)) {
                    continue;
                }

                Intent intent = new Intent(Intent.ACTION_MAIN);
                intent.addCategory(Intent.CATEGORY_LAUNCHER);
                intent.setComponent(activityInfo.getComponentName());
@@ -135,6 +141,11 @@ public class AppUtils {
            ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, 0);
            Intent intent = packageManager.getLaunchIntentForPackage(packageName);

            if (appInfo.packageName.equalsIgnoreCase(AppProvider.MICROG_PACKAGE)
                    || appInfo.packageName.equalsIgnoreCase(AppProvider.MUPDF_PACKAGE)) {
                return null;
            }

            if (intent != null) {
                ResolveInfo resolveInfo = packageManager.resolveActivity(intent, 0);
                if (resolveInfo != null) {