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

Verified Commit 489e2625 authored by Saalim Quadri's avatar Saalim Quadri
Browse files

Kotlin support

parent bbcdabda
Loading
Loading
Loading
Loading
Loading
+25 −3
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ plugins {
    alias libs.plugins.ksp
    alias libs.plugins.bliss.spotless
    alias libs.plugins.bliss.githooks
    id 'org.jetbrains.kotlin.plugin.compose' version "2.1.10"
}

afterEvaluate {
@@ -104,6 +105,7 @@ android {
    buildTypes {
        debug {
            minifyEnabled false
            shrinkResources false
            signingConfig signingConfigs.platformConfig
        }

@@ -138,13 +140,13 @@ android {
    sourceSets {
        main {
            res.srcDirs = ['res', 'libs_systemui/animationlib/res', 'libs_systemui/iconloaderlib/res']
            java.srcDirs = ['src', 'tests/multivalentTests/shared']
            java.srcDirs = [ 'compose/facade/enabled', 'compose/facade/core', 'compose/features', 'src', 'tests/multivalentTests/shared']
            manifest.srcFile 'AndroidManifest-common.xml'
            proto.srcDirs = ['protos/', 'quickstep/protos_overrides/']
        }

        bliss {
            java.srcDirs = ['bliss/src', 'quickstep/dagger', 'quickstep/src_protolog']
            java.srcDirs = ['bliss/src', 'quickstep/src_protolog']
            res.srcDirs = ['bliss/res', 'bliss/res_overrides']
            manifest.srcFile "bliss/AndroidManifest.xml"
            assets.srcDirs 'bliss/assets'
@@ -156,7 +158,8 @@ android {

        withQuickstep {
            res.srcDirs = ['quickstep/res', 'quickstep/recents_ui_overrides/res']
            java.srcDirs = ['quickstep/src', 'quickstep/recents_ui_overrides/src']
            java.srcDirs = ['quickstep/src', 'quickstep/dagger', 'quickstep/recents_ui_overrides/src']
            kotlin.srcDirs = ['quickstep/compose/facade/core', 'quickstep/compose/facade/enabled', 'quickstep/compose/facade/features']
            manifest.srcFile "quickstep/AndroidManifest.xml"
        }
    }
@@ -168,11 +171,14 @@ android {

    buildFeatures {
        buildConfig true
        compose true
        resValues true
    }

    tasks.withType(KotlinCompile).configureEach {
        kotlinOptions {
            freeCompilerArgs += ["-Xjvm-default=all"]
            jvmTarget = "17"
        }
    }

@@ -228,6 +234,22 @@ dependencies {
    implementation libs.androidx.preference
    implementation libs.androidx.window

    implementation platform(libs.androidx.compose.bom)
    implementation libs.androidx.ui
    implementation libs.androidx.ui.util
    debugImplementation libs.androidx.ui.tooling
    implementation libs.androidx.ui.tooling.preview
    implementation libs.androidx.ui.text.google.fonts
    implementation libs.androidx.foundation
    implementation libs.androidx.material.icons.extended
    implementation libs.androidx.material
    implementation libs.androidx.runtime.livedata
    implementation libs.androidx.material3
    implementation libs.androidx.material3.window.size.class1
    implementation libs.androidx.activity.compose
    implementation libs.androidx.lifecycle.viewmodel.compose
    implementation libs.androidx.navigation.compose

    implementation libs.google.protobuf.javalite
    implementation libs.google.material
    implementation libs.reactivex.rxkotlin3
+24 −5
Original line number Diff line number Diff line
[versions]
agp = "8.9.1"
activity-compose = "1.10.1"
agp = "8.7.2"
compose-bom = "2025.06.01"
dagger = "2.56.1"
## Freeze at 2.1.10 for a15
kotlin = "2.1.10"
ksp = "2.1.10-1.0.31"
lifecycle-viewmodel-compose = "2.9.1"
navigation-compose = "2.9.0"
org-jetbrains-kotlin-jvm = "2.1.10"
window = "1.3.0"
window = "1.4.0"
core-animation = "1.0.0"
androidx-core = "1.15.0"
androidx-appcompat = "1.7.0"
androidx-dynamicanimation = "1.0.0"
androidx-core = "1.16.0"
androidx-appcompat = "1.7.1"
androidx-dynamicanimation = "1.1.0"
androidx-recyclerview = "1.4.0"
androidx-preference = "1.2.1"
androidx-slice-view = "1.0.0"
@@ -41,12 +45,27 @@ bliss-spotless = { id = "foundation.e.bliss.spotless", version.ref = "spotless-p
bliss-githooks = { id = "foundation.e.bliss.githooks", version.ref = "githooks-plugin" }

[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
androidx-compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-dynamicanimation = { module = "androidx.dynamicanimation:dynamicanimation", version.ref = "androidx-dynamicanimation" }
androidx-foundation = { module = "androidx.compose.foundation:foundation" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle-viewmodel-compose" }
androidx-material = { module = "androidx.compose.material:material" }
androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
androidx-material3 = { module = "androidx.compose.material3:material3" }
androidx-material3-window-size-class1 = { module = "androidx.compose.material3:material3-window-size-class" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigation-compose" }
androidx-recyclerview = { module = "androidx.recyclerview:recyclerview", version.ref = "androidx-recyclerview" }
androidx-preference = { module = "androidx.preference:preference-ktx", version.ref = "androidx-preference" }
androidx-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedata" }
androidx-slice-view = { module = "androidx.slice:slice-view", version.ref = "androidx-slice-view" }
androidx-ui = { module = "androidx.compose.ui:ui" }
androidx-ui-text-google-fonts = { module = "androidx.compose.ui:ui-text-google-fonts" }
androidx-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
androidx-ui-util = { module = "androidx.compose.ui:ui-util" }
androidx-window = { module = "androidx.window:window", version.ref = "window" }
androidx-core-animation = { module = "androidx.core:core-animation", version.ref = "core-animation" }

+4 −2
Original line number Diff line number Diff line
@@ -18,10 +18,9 @@ package com.android.launcher3.taskbar;
import static android.os.Trace.TRACE_TAG_APP;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.WindowManager.LayoutParams.FIRST_SYSTEM_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR;
import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL;
import static android.window.SplashScreen.SPLASH_SCREEN_STYLE_UNDEFINED;

import static com.android.launcher3.AbstractFloatingView.TYPE_ALL;
@@ -186,6 +185,9 @@ public class TaskbarActivityContext extends BaseTaskbarContext {

    private static final String WINDOW_TITLE = "Taskbar";

    public static final int TYPE_NAVIGATION_BAR = FIRST_SYSTEM_WINDOW+19;
    public static final int TYPE_NAVIGATION_BAR_PANEL = FIRST_SYSTEM_WINDOW+24;

    private final @Nullable Context mNavigationBarPanelContext;

    private final TaskbarDragLayer mDragLayer;
+1 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import com.android.launcher3.Insettable;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.apppairs.AppPairIcon;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.folder.PreviewBackground;
import com.android.launcher3.model.data.AppPairInfo;
+36 −0
Original line number Diff line number Diff line
@@ -13,24 +13,24 @@ dependencyResolutionManagement {
    repositories {
        google()
        mavenCentral()
        maven { url "https://gitlab.e.foundation/api/v4/projects/1391/packages/maven" }
        maven { url "https://gitlab.e.foundation/api/v4/projects/1272/packages/maven" }
        maven(url = "https://gitlab.e.foundation/api/v4/projects/1391/packages/maven")
        maven(url = "https://gitlab.e.foundation/api/v4/projects/1272/packages/maven")
    }
}

include ':animationlib'
project(':animationlib').projectDir = new File("$rootDir/libs_systemui", 'animationlib')
include(":animationlib")
project(":animationlib").projectDir = File(rootDir, "libs_systemui/animationlib")

include ':IconLoader'
project(':IconLoader').projectDir = new File("$rootDir/libs_systemui", 'iconloaderlib')
include(":IconLoader")
project(":IconLoader").projectDir = File(rootDir, "libs_systemui/iconloaderlib")

include ':SearchUiLib'
project(':SearchUiLib').projectDir = new File("$rootDir/libs_systemui", 'searchuilib')
include(":SearchUiLib")
project(":SearchUiLib").projectDir = File(rootDir, "libs_systemui/searchuilib")

include ':msdllib'
project(':msdllib').projectDir = new File("$rootDir/libs_systemui", 'msdllib')
include(":msdllib")
project(":msdllib").projectDir = File(rootDir, "libs_systemui/msdllib")

include ':contextualeducationlib'
project(':contextualeducationlib').projectDir = new File("$rootDir/libs_systemui", 'contextualeducationlib')
include(":contextualeducationlib")
project(":contextualeducationlib").projectDir = File(rootDir, "libs_systemui/contextualeducationlib")

rootProject.name = "BlissLauncher3"
Loading