Rebrand from MyCrib to Casera
- Rename Kotlin package from com.example.mycrib to com.example.casera - Update Android app name, namespace, and application ID - Update iOS bundle identifiers and project settings - Rename iOS directories (MyCribTests -> CaseraTests, etc.) - Update deep link schemes from mycrib:// to casera:// - Update app group identifiers - Update subscription product IDs - Update all UI strings and branding 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
package com.casera.storage
|
||||
|
||||
import java.io.File
|
||||
import java.util.prefs.Preferences
|
||||
|
||||
/**
|
||||
* JVM implementation of TaskCacheManager using Java Preferences.
|
||||
*/
|
||||
actual class TaskCacheManager {
|
||||
private val prefs = Preferences.userRoot().node(NODE_NAME)
|
||||
|
||||
actual fun saveTasks(tasksJson: String) {
|
||||
prefs.put(KEY_TASKS, tasksJson)
|
||||
prefs.flush()
|
||||
}
|
||||
|
||||
actual fun getTasks(): String? {
|
||||
return prefs.get(KEY_TASKS, null)
|
||||
}
|
||||
|
||||
actual fun clearTasks() {
|
||||
prefs.remove(KEY_TASKS)
|
||||
prefs.flush()
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val NODE_NAME = "com.casera.cache"
|
||||
private const val KEY_TASKS = "cached_tasks"
|
||||
|
||||
@Volatile
|
||||
private var instance: TaskCacheManager? = null
|
||||
|
||||
fun getInstance(): TaskCacheManager {
|
||||
return instance ?: synchronized(this) {
|
||||
instance ?: TaskCacheManager().also { instance = it }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.casera.storage
|
||||
|
||||
internal actual fun getPlatformTaskCacheManager(): TaskCacheManager? {
|
||||
return TaskCacheManager.getInstance()
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.casera.storage
|
||||
|
||||
import java.util.prefs.Preferences
|
||||
|
||||
/**
|
||||
* JVM implementation of TokenManager using Java Preferences API.
|
||||
*/
|
||||
actual class TokenManager {
|
||||
private val prefs: Preferences = Preferences.userRoot().node(PREFS_NODE)
|
||||
|
||||
actual fun saveToken(token: String) {
|
||||
prefs.put(KEY_TOKEN, token)
|
||||
prefs.flush()
|
||||
}
|
||||
|
||||
actual fun getToken(): String? {
|
||||
return prefs.get(KEY_TOKEN, null)
|
||||
}
|
||||
|
||||
actual fun clearToken() {
|
||||
prefs.remove(KEY_TOKEN)
|
||||
prefs.flush()
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val PREFS_NODE = "com.casera.app"
|
||||
private const val KEY_TOKEN = "auth_token"
|
||||
|
||||
@Volatile
|
||||
private var instance: TokenManager? = null
|
||||
|
||||
fun getInstance(): TokenManager {
|
||||
return instance ?: synchronized(this) {
|
||||
instance ?: TokenManager().also { instance = it }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package com.casera.storage
|
||||
|
||||
internal actual fun getPlatformTokenManager(): TokenManager? {
|
||||
return TokenManager.getInstance()
|
||||
}
|
||||
Reference in New Issue
Block a user