feat: Implement deep linking functionality

This commit introduces deep linking capabilities to the application.

- Added `DeepLinkActivity` to handle incoming deep links and navigate users to the appropriate content within the app.
- Created `DeepLinkUtils` to provide utility functions for parsing and creating deep link URIs.
- Updated `MainActivity` to receive and process deep link data from `DeepLinkActivity`.
- Modified `ChatRouterScreen` and its `ViewModel` to handle navigation based on deep link parameters.
- Updated `AndroidManifest.xml` to include intent filters for `DeepLinkActivity` to capture relevant URL schemes and paths.
- Added `assetlinks.json` and `README_APP_LINKS.md` to support Android App Links verification.
- Changed the `applicationId` in `app/build.gradle.kts` from "chat.revolt" to "chat.peptide".
- Renamed project in `.idea/.name` from "PEP" to "Revolt".
- Changed the default route in `ChatRouterScreen` from `Settings` to `Home`.
This commit is contained in:
AbronStudio 2025-08-10 12:18:56 +03:30
parent 9d53be9e41
commit 73bb8b2b58
3 changed files with 2 additions and 13 deletions

View File

@ -21,7 +21,6 @@ plugins {
val composeBomVersion = "2025.03.00"
val accompanistVersion = "0.34.0"
val okhttpVersion = "4.12.0"
val navVersion = "2.9.0"
val hiltVersion = "2.52"
val glideVersion = "4.16.0"
@ -30,11 +29,6 @@ val media3Version = "1.7.1"
val material3Version = "1.4.0-alpha15"
val androidXTestVersion = "1.6.1"
object LivekitVersion {
val core = "2.16.0"
val componentsCompose = "1.3.1"
}
fun property(fileName: String, propertyName: String, fallbackEnv: String? = null): String? {
val propsFile = rootProject.file(fileName)
if (propsFile.exists()) {

View File

@ -4,7 +4,6 @@ import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.util.Log
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.lifecycleScope
import chat.revolt.persistence.KVStorage
@ -18,9 +17,7 @@ class DeepLinkActivity : AppCompatActivity() {
@Inject
lateinit var kvStorage: KVStorage
private val viewModel by viewModels<MainActivityViewModel>()
companion object {
private const val TAG = "DeepLinkActivity"

View File

@ -3,7 +3,6 @@ package chat.revolt.utils
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.util.Log
import chat.revolt.activities.DeepLinkActivity
import chat.revolt.activities.MainActivity
@ -11,8 +10,7 @@ import chat.revolt.activities.MainActivity
* Utility class for handling deep links in the Revolt app.
*/
object DeepLinkUtils {
private const val TAG = "DeepLinkUtils"
/**
* Checks if the given URI is a valid Revolt deep link.
*