Loading app/src/main/AndroidManifest.xml +24 −1 Original line number Original line Diff line number Diff line Loading @@ -9,6 +9,12 @@ android:label="@string/permlab_install_shortcut" android:label="@string/permlab_install_shortcut" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous"/> android:protectionLevel="dangerous"/> <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous" android:label="@string/permlab_uninstall_shortcut" android:description="@string/permdesc_uninstall_shortcut"/> <!-- General --> <!-- General --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> Loading Loading @@ -44,7 +50,6 @@ android:windowSoftInputMode="adjustPan"> android:windowSoftInputMode="adjustPan"> <intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </intent-filter> Loading Loading @@ -86,6 +91,16 @@ </intent-filter> </intent-filter> </receiver> </receiver> <!-- Intent received used to uninstall shortcuts from other applications --> <receiver android:name=".features.shortcuts.UninstallShortcutReceiver" android:enabled="true" android:permission="com.android.launcher.permission.UNINSTALL_SHORTCUT"> <intent-filter> <action android:name="com.android.launcher.action.UNINSTALL_SHORTCUT" /> </intent-filter> </receiver> <activity <activity android:name=".features.shortcuts.AddItemActivity" android:name=".features.shortcuts.AddItemActivity" android:autoRemoveFromRecents="true" android:autoRemoveFromRecents="true" Loading @@ -96,6 +111,14 @@ <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT"/> <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT"/> </intent-filter> </intent-filter> </activity> </activity> <activity android:name=".features.widgets.WidgetsActivity" android:autoRemoveFromRecents="true" android:excludeFromRecents="true" android:theme="@android:style/Theme.Material.Light.DarkActionBar" android:label="Widgets"> </activity> </application> </application> </manifest> </manifest> No newline at end of file app/src/main/java/org/indin/blisslaunchero/BlissLauncher.java +20 −0 Original line number Original line Diff line number Diff line package org.indin.blisslaunchero; package org.indin.blisslaunchero; import android.app.Application; import android.app.Application; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading @@ -19,6 +21,9 @@ public class BlissLauncher extends Application { private AppProvider mAppProvider; private AppProvider mAppProvider; private AppWidgetHost sAppWidgetHost; private AppWidgetManager sAppWidgetManager; private static final String TAG = "BlissLauncher"; private static final String TAG = "BlissLauncher"; @Override @Override public void onCreate() { public void onCreate() { Loading @@ -28,6 +33,11 @@ public class BlissLauncher extends Application { .setDefaultFontPath("Roboto-Regular.ttf") .setDefaultFontPath("Roboto-Regular.ttf") .setFontAttrId(R.attr.fontPath) .setFontAttrId(R.attr.fontPath) .build()); .build()); sAppWidgetManager = AppWidgetManager.getInstance(getApplicationContext()); sAppWidgetHost = new AppWidgetHost(getApplicationContext(), R.id.APPWIDGET_HOST_ID); sAppWidgetHost.startListening(); } } public static BlissLauncher getApplication(Context context) { public static BlissLauncher getApplication(Context context) { Loading Loading @@ -81,4 +91,14 @@ public class BlissLauncher extends Application { return mAppProvider; return mAppProvider; } } public AppWidgetHost getAppWidgetHost() { return sAppWidgetHost; } public AppWidgetManager getAppWidgetManager() { return sAppWidgetManager; } @Override public void onTerminate() { super.onTerminate(); sAppWidgetHost.stopListening(); sAppWidgetHost = null; } } } app/src/main/java/org/indin/blisslaunchero/core/database/DatabaseManager.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -95,4 +95,9 @@ public class DatabaseManager { } } } } } } public void removeShortcut(String name){ mAppExecutors.diskIO().execute( () -> LauncherDB.getDatabase(mContext).launcherDao().deleteShortcut(name)); } } } app/src/main/java/org/indin/blisslaunchero/core/database/LauncherDB.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,7 @@ import org.indin.blisslaunchero.core.database.converters.CharSequenceConverter; import org.indin.blisslaunchero.core.database.daos.LauncherDao; import org.indin.blisslaunchero.core.database.daos.LauncherDao; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.database.model.LauncherItem; @Database(entities = {LauncherItem.class}, version = 2, exportSchema = false) @Database(entities = {LauncherItem.class}, version = 3, exportSchema = false) @TypeConverters({CharSequenceConverter.class}) @TypeConverters({CharSequenceConverter.class}) public abstract class LauncherDB extends RoomDatabase { public abstract class LauncherDB extends RoomDatabase { Loading app/src/main/java/org/indin/blisslaunchero/core/database/daos/LauncherDao.java +6 −1 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,7 @@ import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; import android.arch.persistence.room.Query; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.utils.Constants; import java.util.List; import java.util.List; Loading @@ -13,7 +14,7 @@ import java.util.List; public interface LauncherDao { public interface LauncherDao { @Insert(onConflict = OnConflictStrategy.REPLACE) @Insert(onConflict = OnConflictStrategy.REPLACE) void insert(LauncherItem launcherItem); long insert(LauncherItem launcherItem); @Query("SELECT * FROM launcher_items ORDER BY container, screen_id, cell") @Query("SELECT * FROM launcher_items ORDER BY container, screen_id, cell") List<LauncherItem> getAllItems(); List<LauncherItem> getAllItems(); Loading @@ -23,4 +24,8 @@ public interface LauncherDao { @Query("DELETE FROM launcher_items WHERE item_id = :id") @Query("DELETE FROM launcher_items WHERE item_id = :id") void delete(String id); void delete(String id); @Query("DELETE FROM launcher_items WHERE title = :name and item_type = " + Constants.ITEM_TYPE_SHORTCUT) void deleteShortcut(String name); } } Loading
app/src/main/AndroidManifest.xml +24 −1 Original line number Original line Diff line number Diff line Loading @@ -9,6 +9,12 @@ android:label="@string/permlab_install_shortcut" android:label="@string/permlab_install_shortcut" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous"/> android:protectionLevel="dangerous"/> <permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" android:protectionLevel="dangerous" android:label="@string/permlab_uninstall_shortcut" android:description="@string/permdesc_uninstall_shortcut"/> <!-- General --> <!-- General --> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> Loading Loading @@ -44,7 +50,6 @@ android:windowSoftInputMode="adjustPan"> android:windowSoftInputMode="adjustPan"> <intent-filter> <intent-filter> <action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.HOME"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </intent-filter> Loading Loading @@ -86,6 +91,16 @@ </intent-filter> </intent-filter> </receiver> </receiver> <!-- Intent received used to uninstall shortcuts from other applications --> <receiver android:name=".features.shortcuts.UninstallShortcutReceiver" android:enabled="true" android:permission="com.android.launcher.permission.UNINSTALL_SHORTCUT"> <intent-filter> <action android:name="com.android.launcher.action.UNINSTALL_SHORTCUT" /> </intent-filter> </receiver> <activity <activity android:name=".features.shortcuts.AddItemActivity" android:name=".features.shortcuts.AddItemActivity" android:autoRemoveFromRecents="true" android:autoRemoveFromRecents="true" Loading @@ -96,6 +111,14 @@ <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT"/> <action android:name="android.content.pm.action.CONFIRM_PIN_SHORTCUT"/> </intent-filter> </intent-filter> </activity> </activity> <activity android:name=".features.widgets.WidgetsActivity" android:autoRemoveFromRecents="true" android:excludeFromRecents="true" android:theme="@android:style/Theme.Material.Light.DarkActionBar" android:label="Widgets"> </activity> </application> </application> </manifest> </manifest> No newline at end of file
app/src/main/java/org/indin/blisslaunchero/BlissLauncher.java +20 −0 Original line number Original line Diff line number Diff line package org.indin.blisslaunchero; package org.indin.blisslaunchero; import android.app.Application; import android.app.Application; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetManager; import android.content.ComponentName; import android.content.ComponentName; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading @@ -19,6 +21,9 @@ public class BlissLauncher extends Application { private AppProvider mAppProvider; private AppProvider mAppProvider; private AppWidgetHost sAppWidgetHost; private AppWidgetManager sAppWidgetManager; private static final String TAG = "BlissLauncher"; private static final String TAG = "BlissLauncher"; @Override @Override public void onCreate() { public void onCreate() { Loading @@ -28,6 +33,11 @@ public class BlissLauncher extends Application { .setDefaultFontPath("Roboto-Regular.ttf") .setDefaultFontPath("Roboto-Regular.ttf") .setFontAttrId(R.attr.fontPath) .setFontAttrId(R.attr.fontPath) .build()); .build()); sAppWidgetManager = AppWidgetManager.getInstance(getApplicationContext()); sAppWidgetHost = new AppWidgetHost(getApplicationContext(), R.id.APPWIDGET_HOST_ID); sAppWidgetHost.startListening(); } } public static BlissLauncher getApplication(Context context) { public static BlissLauncher getApplication(Context context) { Loading Loading @@ -81,4 +91,14 @@ public class BlissLauncher extends Application { return mAppProvider; return mAppProvider; } } public AppWidgetHost getAppWidgetHost() { return sAppWidgetHost; } public AppWidgetManager getAppWidgetManager() { return sAppWidgetManager; } @Override public void onTerminate() { super.onTerminate(); sAppWidgetHost.stopListening(); sAppWidgetHost = null; } } }
app/src/main/java/org/indin/blisslaunchero/core/database/DatabaseManager.java +5 −0 Original line number Original line Diff line number Diff line Loading @@ -95,4 +95,9 @@ public class DatabaseManager { } } } } } } public void removeShortcut(String name){ mAppExecutors.diskIO().execute( () -> LauncherDB.getDatabase(mContext).launcherDao().deleteShortcut(name)); } } }
app/src/main/java/org/indin/blisslaunchero/core/database/LauncherDB.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -10,7 +10,7 @@ import org.indin.blisslaunchero.core.database.converters.CharSequenceConverter; import org.indin.blisslaunchero.core.database.daos.LauncherDao; import org.indin.blisslaunchero.core.database.daos.LauncherDao; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.database.model.LauncherItem; @Database(entities = {LauncherItem.class}, version = 2, exportSchema = false) @Database(entities = {LauncherItem.class}, version = 3, exportSchema = false) @TypeConverters({CharSequenceConverter.class}) @TypeConverters({CharSequenceConverter.class}) public abstract class LauncherDB extends RoomDatabase { public abstract class LauncherDB extends RoomDatabase { Loading
app/src/main/java/org/indin/blisslaunchero/core/database/daos/LauncherDao.java +6 −1 Original line number Original line Diff line number Diff line Loading @@ -6,6 +6,7 @@ import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; import android.arch.persistence.room.Query; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.database.model.LauncherItem; import org.indin.blisslaunchero.core.utils.Constants; import java.util.List; import java.util.List; Loading @@ -13,7 +14,7 @@ import java.util.List; public interface LauncherDao { public interface LauncherDao { @Insert(onConflict = OnConflictStrategy.REPLACE) @Insert(onConflict = OnConflictStrategy.REPLACE) void insert(LauncherItem launcherItem); long insert(LauncherItem launcherItem); @Query("SELECT * FROM launcher_items ORDER BY container, screen_id, cell") @Query("SELECT * FROM launcher_items ORDER BY container, screen_id, cell") List<LauncherItem> getAllItems(); List<LauncherItem> getAllItems(); Loading @@ -23,4 +24,8 @@ public interface LauncherDao { @Query("DELETE FROM launcher_items WHERE item_id = :id") @Query("DELETE FROM launcher_items WHERE item_id = :id") void delete(String id); void delete(String id); @Query("DELETE FROM launcher_items WHERE title = :name and item_type = " + Constants.ITEM_TYPE_SHORTCUT) void deleteShortcut(String name); } }