Rebrand to iiEasy: naming, logo, l10n, docs, assets
Some checks failed
L10n / l10n (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
@@ -17,7 +17,7 @@ if (keystorePropertiesFile.exists()) {
|
||||
android {
|
||||
namespace = "app.cogwheel.conduit"
|
||||
compileSdk = 36
|
||||
ndkVersion = "29.0.14206865"
|
||||
ndkVersion = "28.0.13004108"
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "app.cogwheel.conduit"
|
||||
@@ -56,8 +56,8 @@ android {
|
||||
if (keystorePropertiesFile.exists()) {
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
isMinifyEnabled = false
|
||||
isShrinkResources = false
|
||||
proguardFiles(
|
||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||
"proguard-rules.pro"
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
ForegroundServiceDidNotStartInTimeException. This ensures channels exist before
|
||||
any foreground service attempts to use them. -->
|
||||
<application
|
||||
android:label="Conduit"
|
||||
android:label="iiEasy"
|
||||
android:name=".ConduitApplication"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:allowBackup="false"
|
||||
@@ -103,7 +103,7 @@
|
||||
<activity
|
||||
android:name=".ProcessTextActivity"
|
||||
android:exported="true"
|
||||
android:label="Ask Conduit"
|
||||
android:label="Ask iiEasy"
|
||||
android:noHistory="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.PROCESS_TEXT" />
|
||||
|
||||
@@ -94,7 +94,7 @@ class BackgroundStreamingService : Service() {
|
||||
// Otherwise startForeground throws "Bad notification" error
|
||||
ensureNotificationChannel()
|
||||
val fallbackNotification = NotificationCompat.Builder(this, CHANNEL_ID)
|
||||
.setContentTitle("Conduit")
|
||||
.setContentTitle("iiEasy")
|
||||
.setSmallIcon(R.mipmap.ic_launcher)
|
||||
.setSilent(true)
|
||||
.setOngoing(true) // Prevent user from dismissing foreground service notification
|
||||
@@ -264,7 +264,7 @@ class BackgroundStreamingService : Service() {
|
||||
|
||||
// Create a minimal, silent notification (required for foreground service)
|
||||
return NotificationCompat.Builder(this, CHANNEL_ID)
|
||||
.setContentTitle("Conduit")
|
||||
.setContentTitle("iiEasy")
|
||||
.setContentText("Background service active")
|
||||
.setSmallIcon(R.mipmap.ic_launcher)
|
||||
.setContentIntent(pendingIntent)
|
||||
@@ -289,7 +289,7 @@ class BackgroundStreamingService : Service() {
|
||||
"Background Service",
|
||||
NotificationManager.IMPORTANCE_MIN,
|
||||
).apply {
|
||||
description = "Background service for Conduit"
|
||||
description = "Background service for iiEasy"
|
||||
setShowBadge(false)
|
||||
enableLights(false)
|
||||
enableVibration(false)
|
||||
@@ -324,7 +324,7 @@ class BackgroundStreamingService : Service() {
|
||||
val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
|
||||
wakeLock = powerManager.newWakeLock(
|
||||
PowerManager.PARTIAL_WAKE_LOCK,
|
||||
"Conduit::StreamingWakeLock"
|
||||
"iiEasy::StreamingWakeLock"
|
||||
).apply {
|
||||
// Disable reference counting for deterministic single-holder behavior
|
||||
// This prevents accumulation if acquireWakeLock is called multiple times
|
||||
@@ -728,7 +728,7 @@ class BackgroundStreamingHandler(private val activity: MainActivity) : MethodCal
|
||||
private fun createNotificationChannel() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
val name = "Background Service"
|
||||
val descriptionText = "Background service for Conduit"
|
||||
val descriptionText = "Background service for iiEasy"
|
||||
val importance = NotificationManager.IMPORTANCE_MIN
|
||||
val channel = NotificationChannel(BackgroundStreamingService.CHANNEL_ID, name, importance).apply {
|
||||
description = descriptionText
|
||||
|
||||
@@ -35,7 +35,7 @@ class ConduitApplication : Application() {
|
||||
notificationManager,
|
||||
channelId = BackgroundStreamingService.CHANNEL_ID,
|
||||
channelName = "Background Service",
|
||||
description = "Background service for Conduit",
|
||||
description = "Background service for iiEasy",
|
||||
importance = NotificationManager.IMPORTANCE_MIN,
|
||||
)
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
24
android/app/src/main/res/drawable/ic_launcher_foreground.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- iiEasy logo: 3 concentric dashed circles (from assets/icons/logo.svg) -->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="200"
|
||||
android:viewportHeight="200">
|
||||
<!-- Three concentric circles (solid stroke; dash not supported by AAPT in drawable) -->
|
||||
<path
|
||||
android:pathData="M 170,100 A 70,70 0 1,1 169.99,100"
|
||||
android:strokeColor="#1F2937"
|
||||
android:strokeWidth="6"
|
||||
android:fillColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M 150,100 A 50,50 0 1,1 149.99,100"
|
||||
android:strokeColor="#1F2937"
|
||||
android:strokeWidth="6"
|
||||
android:fillColor="#00000000"/>
|
||||
<path
|
||||
android:pathData="M 130,100 A 30,30 0 1,1 129.99,100"
|
||||
android:strokeColor="#1F2937"
|
||||
android:strokeWidth="6"
|
||||
android:fillColor="#00000000"/>
|
||||
</vector>
|
||||
@@ -89,7 +89,7 @@
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="8dp">
|
||||
|
||||
<!-- Ask Conduit text -->
|
||||
<!-- Ask iiEasy text -->
|
||||
<TextView
|
||||
android:id="@+id/input_area"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -97,7 +97,7 @@
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_toStartOf="@id/btn_voice"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="Ask Conduit"
|
||||
android:text="Ask iiEasy"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="16sp"
|
||||
android:alpha="0.6"
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
|
||||
</adaptive-icon>
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_foreground"
|
||||
android:inset="16%" />
|
||||
</foreground>
|
||||
</adaptive-icon>
|
||||
|
||||
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 893 B |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -27,8 +27,5 @@
|
||||
<color name="widget_secondary_container_fallback">#E8DEF8</color>
|
||||
<color name="widget_on_secondary_container_fallback">#1D192B</color>
|
||||
<color name="widget_surface_fallback">#FFFBFE</color>
|
||||
<color name="ic_launcher_background">#FFFFFF</color>
|
||||
</resources>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Conduit</string>
|
||||
<string name="app_name">iiEasy</string>
|
||||
|
||||
<!-- Widget strings -->
|
||||
<string name="widget_name">Conduit</string>
|
||||
<string name="widget_description">Quick access to Conduit chat with camera, photos, and clipboard shortcuts</string>
|
||||
<string name="widget_ask_conduit">Ask Conduit</string>
|
||||
<string name="widget_name">iiEasy</string>
|
||||
<string name="widget_description">Quick access to iiEasy chat with camera, photos, and clipboard shortcuts</string>
|
||||
<string name="widget_ask_conduit">Ask iiEasy</string>
|
||||
<string name="widget_camera">Camera</string>
|
||||
<string name="widget_photos">Photos</string>
|
||||
<string name="widget_clipboard">Clipboard</string>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Conduit is an open-source, native mobile client for Open‑WebUI. Connect to your own server to chat with AI models, manage conversations, and take your self‑hosted AI with you—securely and on the go.
|
||||
iiEasy is a native mobile client for Open‑WebUI, based on the open-source Conduit project. Connect to your own server to chat with AI models, manage conversations, and take your self‑hosted AI with you—securely and on the go.
|
||||
|
||||
Features
|
||||
- Real-time streaming chat
|
||||
@@ -13,7 +13,7 @@ Features
|
||||
- Offline-aware experience
|
||||
|
||||
Requirements
|
||||
- Requires an existing Open‑WebUI server. Conduit does not host or provide AI models.
|
||||
- Requires an existing Open‑WebUI server. iiEasy does not host or provide AI models.
|
||||
- No data is sent to third-party services by default; everything stays with your configured server.
|
||||
|
||||
Permissions
|
||||
@@ -21,11 +21,10 @@ Permissions
|
||||
- Camera and Photos/Storage: Image/file attachments
|
||||
- Network: Connect to your Open‑WebUI server
|
||||
|
||||
Open Source:
|
||||
Conduit is an open-source project. For support, to report issues, or to view the source code, please visit our GitHub repository:
|
||||
For support, issues, and more information, please visit:
|
||||
|
||||
https://github.com/cogwheel0/conduit
|
||||
https://iiEasy.ru
|
||||
|
||||
-----
|
||||
|
||||
Disclaimer: This is an independent, third-party application licensed under the GNU General Public License v3.0 (GPLv3) and is not officially affiliated with the OpenWebUI project.
|
||||
Disclaimer: iiEasyWeb is an independent, third-party application licensed under the GNU General Public License v3.0 (GPLv3) and is not officially affiliated with the OpenWebUI project.
|
||||
|
||||
@@ -1 +1 @@
|
||||
Conduit: OpenWebUI Client
|
||||
iiEasyWeb
|
||||
|
||||