@@ -4,6 +4,7 @@ import android.app.ActivityManager
4
4
import android.app.DownloadManager
5
5
import android.content.ClipData
6
6
import android.content.ClipboardManager
7
+ import android.content.pm.PackageManager
7
8
import android.net.Uri
8
9
import android.os.Bundle
9
10
import android.os.StrictMode
@@ -29,6 +30,8 @@ import androidx.compose.material3.Text
29
30
import androidx.compose.runtime.Composable
30
31
import androidx.compose.ui.Modifier
31
32
import androidx.compose.ui.unit.dp
33
+ import androidx.core.app.ActivityCompat
34
+ import androidx.core.content.ContextCompat
32
35
import androidx.core.content.getSystemService
33
36
import com.example.llama.ui.theme.LlamaAndroidTheme
34
37
import java.io.File
@@ -56,6 +59,19 @@ class MainActivity(
56
59
override fun onCreate (savedInstanceState : Bundle ? ) {
57
60
super .onCreate(savedInstanceState)
58
61
62
+ val permissionGranted = ContextCompat .checkSelfPermission(
63
+ this ,
64
+ android.Manifest .permission.WRITE_EXTERNAL_STORAGE
65
+ ) == PackageManager .PERMISSION_GRANTED
66
+
67
+ if (! permissionGranted) {
68
+ ActivityCompat .requestPermissions(
69
+ this ,
70
+ arrayOf(android.Manifest .permission.WRITE_EXTERNAL_STORAGE ),
71
+ 0
72
+ )
73
+ }
74
+
59
75
StrictMode .setVmPolicy(
60
76
VmPolicy .Builder (StrictMode .getVmPolicy())
61
77
.detectLeakedClosableObjects()
@@ -71,6 +87,11 @@ class MainActivity(
71
87
val extFilesDir = getExternalFilesDir(null )
72
88
73
89
val models = listOf (
90
+ Downloadable (
91
+ " Qwen2.5 0.5B (Q4_K_M, 429 MiB)" ,
92
+ Uri .parse(" https://huggingface.co/Qwen/Qwen2.5-0.5B-Instruct-GGUF/resolve/main/qwen2.5-0.5b-instruct-q4_k_m.gguf?download=true" ),
93
+ File (extFilesDir, " qwen2.5-0.5b-instruct-q4_k_m.gguf" ),
94
+ ),
74
95
Downloadable (
75
96
" Phi-2 7B (Q4_0, 1.6 GiB)" ,
76
97
Uri .parse(" https://huggingface.co/ggml-org/models/resolve/main/phi-2/ggml-model-q4_0.gguf?download=true" ),
0 commit comments