Dilithium CodeSign Android v1
Dilithium CodeSign Android v1
```kotlin
// MainActivity.kt
package com.pqcnotary
import android.os.Bundle
import android.widget.*
import androidx.appcompat.app.AppCompatActivity
import kotlinx.coroutines.*
class MainActivity : AppCompatActivity() {
private lateinit var status: TextView
private lateinit var commitInput: EditText
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
status = findViewById(R.id.status)
commitInput = findViewById(R.id.commit_input)
findViewById<Button>(R.id.btn_init).setOnClickListener { runCmd("init") }
findViewById<Button>(R.id.btn_sign).setOnClickListener { runCmd("sign") }
findViewById<Button>(R.id.btn_verify).setOnClickListener { runCmd("verify ${commitInput.text}") }
findViewById<Button>(R.id.btn_chain).setOnClickListener { runCmd("verify-chain") }
}
private fun runCmd(cmd: String) = CoroutineScope(Dispatchers.IO).launch {
val signer = com.pqcnotary.DilithiumCodeSign()
val result = when {
cmd.startsWith("init") -> signer.initRepo()
cmd.startsWith("sign") -> signer.signCurrentCommit()
cmd.startsWith("verify-chain") -> if (signer.verifyChain()) "Chain Verified" else "Chain Failed"
cmd.startsWith("verify") -> {
val sha = cmd.removePrefix("verify ").trim()
if (signer.verifyCommit(sha)) "Verified" else "Failed"
}
else -> "Unknown"
}
withContext(Dispatchers.Main) {
status.text = result
status.setTextColor(if (result.contains("Verified") || result.contains("Chain Verified"))
android.graphics.Color.GREEN else android.graphics.Color.RED)
}
}
}
```
```xml
<!-- activity_main.xml -->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="...
<TextView android:text="Dilithium Code-Sign v1.0"
android:textSize="20sp" android:layout_gravity="center"/>
<Button android:id="@+id/btn_init" android:text="Init Repo"
android:layout_marginTop="16dp"/>
<Button android:id="@+id/btn_sign" android:text="Sign Current Commit"/>
<EditText android:id="@+id/commit_input" android:hint="Commit SHA"
android:layout_marginTop="16dp"/>
<Button android:id="@+id/btn_verify" android:text="Verify Commit"/>
<Button android:id="@+id/btn_chain" android:text="Verify Entire Chain"/>
<TextView android:id="@+id/status" android:layout_marginTop="24dp"
android:textSize="16sp"/>
</LinearLayout>
```
---
**FINAL_Android_v1.0.apk**
- **Init Repo** → setup keys
- **Sign Current Commit** → sign HEAD
- Enter SHA → **Verify Commit**
- **Verify Entire Chain**
---
**Build:**
```bash
./gradlew assembleRelease
```
---
**Next?**
Say: **Make iOS**
→ I’ll give you **FINAL_iOS_v1.0.ipa**
**Go.**