mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	android : fix permission
This commit is contained in:
		@@ -3,6 +3,8 @@
 | 
				
			|||||||
    xmlns:tools="http://schemas.android.com/tools">
 | 
					    xmlns:tools="http://schemas.android.com/tools">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <uses-permission android:name="android.permission.INTERNET" />
 | 
					    <uses-permission android:name="android.permission.INTERNET" />
 | 
				
			||||||
 | 
					    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 | 
				
			||||||
 | 
					    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <application
 | 
					    <application
 | 
				
			||||||
        android:allowBackup="true"
 | 
					        android:allowBackup="true"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,6 +4,7 @@ import android.app.ActivityManager
 | 
				
			|||||||
import android.app.DownloadManager
 | 
					import android.app.DownloadManager
 | 
				
			||||||
import android.content.ClipData
 | 
					import android.content.ClipData
 | 
				
			||||||
import android.content.ClipboardManager
 | 
					import android.content.ClipboardManager
 | 
				
			||||||
 | 
					import android.content.pm.PackageManager
 | 
				
			||||||
import android.net.Uri
 | 
					import android.net.Uri
 | 
				
			||||||
import android.os.Bundle
 | 
					import android.os.Bundle
 | 
				
			||||||
import android.os.StrictMode
 | 
					import android.os.StrictMode
 | 
				
			||||||
@@ -29,6 +30,8 @@ import androidx.compose.material3.Text
 | 
				
			|||||||
import androidx.compose.runtime.Composable
 | 
					import androidx.compose.runtime.Composable
 | 
				
			||||||
import androidx.compose.ui.Modifier
 | 
					import androidx.compose.ui.Modifier
 | 
				
			||||||
import androidx.compose.ui.unit.dp
 | 
					import androidx.compose.ui.unit.dp
 | 
				
			||||||
 | 
					import androidx.core.app.ActivityCompat
 | 
				
			||||||
 | 
					import androidx.core.content.ContextCompat
 | 
				
			||||||
import androidx.core.content.getSystemService
 | 
					import androidx.core.content.getSystemService
 | 
				
			||||||
import com.example.llama.ui.theme.LlamaAndroidTheme
 | 
					import com.example.llama.ui.theme.LlamaAndroidTheme
 | 
				
			||||||
import java.io.File
 | 
					import java.io.File
 | 
				
			||||||
@@ -56,6 +59,19 @@ class MainActivity(
 | 
				
			|||||||
    override fun onCreate(savedInstanceState: Bundle?) {
 | 
					    override fun onCreate(savedInstanceState: Bundle?) {
 | 
				
			||||||
        super.onCreate(savedInstanceState)
 | 
					        super.onCreate(savedInstanceState)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        val permissionGranted = ContextCompat.checkSelfPermission(
 | 
				
			||||||
 | 
					            this,
 | 
				
			||||||
 | 
					            android.Manifest.permission.WRITE_EXTERNAL_STORAGE
 | 
				
			||||||
 | 
					        ) == PackageManager.PERMISSION_GRANTED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (!permissionGranted) {
 | 
				
			||||||
 | 
					            ActivityCompat.requestPermissions(
 | 
				
			||||||
 | 
					                this,
 | 
				
			||||||
 | 
					                arrayOf(android.Manifest.permission.WRITE_EXTERNAL_STORAGE),
 | 
				
			||||||
 | 
					                0
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        StrictMode.setVmPolicy(
 | 
					        StrictMode.setVmPolicy(
 | 
				
			||||||
            VmPolicy.Builder(StrictMode.getVmPolicy())
 | 
					            VmPolicy.Builder(StrictMode.getVmPolicy())
 | 
				
			||||||
                .detectLeakedClosableObjects()
 | 
					                .detectLeakedClosableObjects()
 | 
				
			||||||
@@ -71,6 +87,11 @@ class MainActivity(
 | 
				
			|||||||
        val extFilesDir = getExternalFilesDir(null)
 | 
					        val extFilesDir = getExternalFilesDir(null)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        val models = listOf(
 | 
					        val models = listOf(
 | 
				
			||||||
 | 
					            Downloadable(
 | 
				
			||||||
 | 
					                "Qwen2.5 0.5B (Q4_K_M, 429 MiB)",
 | 
				
			||||||
 | 
					                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"),
 | 
				
			||||||
 | 
					                File(extFilesDir, "qwen2.5-0.5b-instruct-q4_k_m.gguf"),
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
            Downloadable(
 | 
					            Downloadable(
 | 
				
			||||||
                "Phi-2 7B (Q4_0, 1.6 GiB)",
 | 
					                "Phi-2 7B (Q4_0, 1.6 GiB)",
 | 
				
			||||||
                Uri.parse("https://huggingface.co/ggml-org/models/resolve/main/phi-2/ggml-model-q4_0.gguf?download=true"),
 | 
					                Uri.parse("https://huggingface.co/ggml-org/models/resolve/main/phi-2/ggml-model-q4_0.gguf?download=true"),
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user