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

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

Add widget support

parent 782e3abc
Loading
Loading
Loading
Loading
+24 −1
Original line number Original line Diff line number Diff line
@@ -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"/>
@@ -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>
@@ -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"
@@ -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
+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;
@@ -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() {
@@ -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) {
@@ -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;
    }
}
}
+5 −0
Original line number Original line Diff line number Diff line
@@ -95,4 +95,9 @@ public class DatabaseManager {
            }
            }
        }
        }
    }
    }

    public void removeShortcut(String name){
        mAppExecutors.diskIO().execute(
                () -> LauncherDB.getDatabase(mContext).launcherDao().deleteShortcut(name));
    }
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 {


+6 −1
Original line number Original line Diff line number Diff line
@@ -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;


@@ -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();
@@ -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