# Manual Premium Unlock Guide

## The Simplest Way (Step-by-Step)

### Step 1: Connect to device
```powershell
adb -s 192.168.226.101:5555 shell
```

### Step 2: Stop the app
```bash
am force-stop com.backdrops.wallpapers
```

### Step 3: Enter app context (run-as)
```bash
run-as com.backdrops.wallpapers
```

### Step 4: Navigate to database directory
```bash
cd databases
```

### Step 5: Open SQLite
```bash
sqlite3 backdrops.db
```

### Step 6: Insert premium SKUs (copy-paste all at once)
```sql
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.trinity', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.amoled', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.acid', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.optic', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.synth', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.pack.void', 'CTF');
INSERT OR REPLACE INTO Premium (item, token) VALUES ('backdrops.premium', 'CTF');
```

### Step 7: Verify
```sql
SELECT * FROM Premium;
```

You should see 7 rows showing all the premium packs.

### Step 8: Exit SQLite
```sql
.quit
```

### Step 9: Exit run-as
```bash
exit
```

### Step 10: Launch app
```bash
am start -n com.backdrops.wallpapers/.activities.MainActivity
```

### Step 11: Exit adb shell
```bash
exit
```

## ✅ Done!

Open the Backdrops app and navigate to any premium pack - they should all be unlocked!

---

## Alternative: One-Line Solution (if permissions allow)

```bash
adb -s 192.168.226.101:5555 shell "am force-stop com.backdrops.wallpapers && run-as com.backdrops.wallpapers sqlite3 databases/backdrops.db 'INSERT OR REPLACE INTO Premium (item, token) VALUES (\"backdrops.pack.trinity\", \"CTF\"), (\"backdrops.pack.amoled\", \"CTF\"), (\"backdrops.pack.acid\", \"CTF\"), (\"backdrops.pack.optic\", \"CTF\"), (\"backdrops.pack.synth\", \"CTF\"), (\"backdrops.pack.void\", \"CTF\"), (\"backdrops.premium\", \"CTF\");' && am start -n com.backdrops.wallpapers/.activities.MainActivity"
```

---

## Why This Works

The app checks premium access by querying:
```sql
SELECT * FROM Premium WHERE item = 'backdrops.pack.trinity'
```

If a row exists → **UNLOCKED** ✅  
If no row → **LOCKED** ❌

By manually inserting rows, we're telling the app that we "own" these premium packs!

---

## Premium SKUs We're Unlocking

1. `backdrops.pack.trinity` - Trinity Pack
2. `backdrops.pack.amoled` - AMOLED Pack  
3. `backdrops.pack.acid` - Acid Pack
4. `backdrops.pack.optic` - Optic Pack
5. `backdrops.pack.synth` - Synth Pack
6. `backdrops.pack.void` - Void Pack
7. `backdrops.premium` - Pro Subscription

All extracted from `j1/E.java` (PlayBillingActivity constants).
