Loading app/src/main/java/org/indin/blisslaunchero/BlissLauncher.java +12 −0 Original line number Diff line number Diff line Loading @@ -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(){ Loading app/src/main/java/org/indin/blisslaunchero/features/launcher/AppProvider.java +26 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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"; Loading @@ -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), Loading @@ -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), Loading @@ -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), Loading Loading @@ -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; } } } app/src/main/java/org/indin/blisslaunchero/features/launcher/AppsRepository.java +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; Loading @@ -17,6 +17,7 @@ public class AppsRepository { public static AppsRepository getAppsRepository(){ if(sAppsRepository == null){ Log.d(TAG, "getAppsRepository() called"); sAppsRepository = new AppsRepository(); } return sAppsRepository; Loading app/src/main/java/org/indin/blisslaunchero/features/launcher/LauncherActivity.java +19 −40 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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(); } } Loading Loading @@ -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(); Loading @@ -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); Loading Loading @@ -572,7 +574,6 @@ public class LauncherActivity extends AppCompatActivity implements public void showApps() { allAppsDisplayed = true; showIconPackWallpaperFirstTime(); mProgressBar.setVisibility(GONE); createUI(); isUiDone = true; Loading Loading @@ -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. Loading Loading @@ -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()); } Loading app/src/main/java/org/indin/blisslaunchero/framework/utils/AppUtils.java +12 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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) { Loading Loading
app/src/main/java/org/indin/blisslaunchero/BlissLauncher.java +12 −0 Original line number Diff line number Diff line Loading @@ -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(){ Loading
app/src/main/java/org/indin/blisslaunchero/features/launcher/AppProvider.java +26 −10 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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"; Loading @@ -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), Loading @@ -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), Loading @@ -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), Loading Loading @@ -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; } } }
app/src/main/java/org/indin/blisslaunchero/features/launcher/AppsRepository.java +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; Loading @@ -17,6 +17,7 @@ public class AppsRepository { public static AppsRepository getAppsRepository(){ if(sAppsRepository == null){ Log.d(TAG, "getAppsRepository() called"); sAppsRepository = new AppsRepository(); } return sAppsRepository; Loading
app/src/main/java/org/indin/blisslaunchero/features/launcher/LauncherActivity.java +19 −40 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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; Loading Loading @@ -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(); } } Loading Loading @@ -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(); Loading @@ -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); Loading Loading @@ -572,7 +574,6 @@ public class LauncherActivity extends AppCompatActivity implements public void showApps() { allAppsDisplayed = true; showIconPackWallpaperFirstTime(); mProgressBar.setVisibility(GONE); createUI(); isUiDone = true; Loading Loading @@ -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. Loading Loading @@ -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()); } Loading
app/src/main/java/org/indin/blisslaunchero/framework/utils/AppUtils.java +12 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading Loading @@ -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) { Loading