From 6ff9c2da619998e0234fe4812e79756174939033 Mon Sep 17 00:00:00 2001 From: Dharanish Date: Fri, 5 Jul 2024 15:31:41 +0200 Subject: [PATCH] Implement show sub habits --- .../activities/habits/show/ShowHabitActivity.kt | 12 +++++++++--- .../java/org/isoron/uhabits/intents/IntentFactory.kt | 10 ++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt index 14baee148..1b0e8c6a9 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt @@ -18,7 +18,6 @@ */ package org.isoron.uhabits.activities.habits.show -import android.content.ContentUris import android.os.Bundle import android.view.HapticFeedbackConstants import android.view.Menu @@ -74,8 +73,15 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener { super.onCreate(savedInstanceState) val appComponent = (applicationContext as HabitsApplication).component - val habitList = appComponent.habitList - habit = habitList.getById(ContentUris.parseId(intent.data!!))!! + val habitGroupList = appComponent.habitGroupList + val parentUUID = intent.getStringExtra("parentUUID") + val habitList = if (parentUUID == null) { + appComponent.habitList + } else { + habitGroupList.getByUUID(parentUUID)!!.habitList + } + val uuid = intent.getStringExtra("habitUUID")!! + habit = habitList.getByUUID(uuid)!! preferences = appComponent.preferences commandRunner = appComponent.commandRunner widgetUpdater = appComponent.widgetUpdater diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt b/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt index 866bfe11c..6aed4f7c1 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/intents/IntentFactory.kt @@ -63,10 +63,12 @@ class IntentFactory fun startSettingsActivity(context: Context) = Intent(context, SettingsActivity::class.java) - fun startShowHabitActivity(context: Context, habit: Habit) = - Intent(context, ShowHabitActivity::class.java).apply { - data = Uri.parse(habit.uriString) - } + fun startShowHabitActivity(context: Context, habit: Habit): Intent { + val intent = Intent(context, ShowHabitActivity::class.java) + intent.putExtra("habitUUID", habit.uuid) + intent.putExtra("parentUUID", habit.parentUUID) + return intent + } fun startShowHabitGroupActivity(context: Context, habitGroup: HabitGroup) = Intent(context, ShowHabitGroupActivity::class.java).apply {