Initial QSfera import
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
apply plugin: "com.android.application"
|
||||
apply plugin: "kotlin-android"
|
||||
|
||||
dependencies {
|
||||
implementation libs.kotlin.stdlib
|
||||
implementation libs.kotlinx.coroutines.android
|
||||
implementation libs.kotlinx.coroutines.core
|
||||
|
||||
implementation libs.androidx.activity
|
||||
implementation libs.androidx.appcompat
|
||||
implementation libs.androidx.core.ktx
|
||||
implementation libs.androidx.lifecycle.runtime.ktx
|
||||
implementation libs.material
|
||||
|
||||
testImplementation libs.junit4
|
||||
}
|
||||
|
||||
android {
|
||||
namespace "eu.qsfera.keeper"
|
||||
compileSdkVersion sdkCompileVersion
|
||||
|
||||
defaultConfig {
|
||||
applicationId "eu.qsfera.keeper"
|
||||
minSdkVersion sdkMinVersion
|
||||
targetSdkVersion sdkTargetVersion
|
||||
versionCode 22
|
||||
versionName "0.1.21"
|
||||
|
||||
def apiBaseUrl = project.findProperty("keeperApiBaseUrl") ?: "https://qsfera.kusoft.xyz/keeper-notes"
|
||||
def cloudBaseUrl = project.findProperty("qsferaCloudBaseUrl") ?: "https://qsfera.kusoft.xyz"
|
||||
buildConfigField "String", "KEEPER_API_BASE_URL", "\"${apiBaseUrl}\""
|
||||
buildConfigField "String", "QSFERA_CLOUD_BASE_URL", "\"${cloudBaseUrl}\""
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = JavaVersion.VERSION_17.toString()
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
||||
}
|
||||
}
|
||||
|
||||
buildFeatures {
|
||||
buildConfig true
|
||||
}
|
||||
}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
# The app currently uses only Android framework APIs and direct HTTP calls.
|
||||
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_keeper_icon"
|
||||
android:label="@string/app_name"
|
||||
android:networkSecurityConfig="@xml/network_security_config"
|
||||
android:theme="@style/Theme.Keeper"
|
||||
android:usesCleartextTraffic="true">
|
||||
<provider
|
||||
android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="${applicationId}.fileprovider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
<receiver
|
||||
android:name=".ReminderReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="fullUser">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="android.intent.category.BROWSABLE" />
|
||||
<data
|
||||
android:host="android.qsfera.eu"
|
||||
android:scheme="oc" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22C6.03,13.99 10,12.9 12,12.9s5.97,1.09 6,3.08C16.71,17.92 14.5,19.2 12,19.2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM6.24,5h11.52l0.81,1H5.42l0.82,-1zM19,19H5V8h14v11zM13,10h-2v4H8l4,4 4,-4h-3v-4z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M9,11.5L7.5,10 6.1,11.4 9,14.3 14,9.3 12.6,7.9 9,11.5zM9,18.5L7.5,17 6.1,18.4 9,21.3 14,16.3 12.6,14.9 9,18.5zM16,10h4V8h-4v2zM16,17h4v-2h-4v2zM4,4h16V2H4v2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM8,9h8v10H8V9zM15.5,4l-1,-1h-5l-1,1H5v2h14V4h-3.5z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,11.5l2.5,3.01L14.5,10l4.5,6H5l3.5,-4.5z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="48dp"
|
||||
android:height="48dp"
|
||||
android:viewportWidth="48"
|
||||
android:viewportHeight="48">
|
||||
<path
|
||||
android:fillColor="#F9AB00"
|
||||
android:pathData="M10,4h28c3.3,0 6,2.7 6,6v28c0,3.3 -2.7,6 -6,6H10c-3.3,0 -6,-2.7 -6,-6V10c0,-3.3 2.7,-6 6,-6z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M15,9h15l7,7v20c0,1.7 -1.3,3 -3,3H15c-1.7,0 -3,-1.3 -3,-3V12c0,-1.7 1.3,-3 3,-3z" />
|
||||
<path
|
||||
android:fillColor="#FDE293"
|
||||
android:pathData="M30,9v5c0,1.1 0.9,2 2,2h5z" />
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:fillAlpha="0.18"
|
||||
android:pathData="M18,20h14v2.4H18zM18,26h14v2.4H18zM18,32h9v2.4H18z" />
|
||||
<path
|
||||
android:fillColor="#34A853"
|
||||
android:pathData="M33,31c2.2,0 4,1.7 4,3.8S35.2,39 33,39h-8.7C21.9,39 20,37.2 20,35s1.7,-3.8 3.9,-4c0.9,-2.1 3,-3.5 5.4,-3.5 1.7,0 3.3,0.7 4.4,1.9 -0.3,0.5 -0.6,1 -0.7,1.6z" />
|
||||
<path
|
||||
android:fillColor="#FFFFFF"
|
||||
android:pathData="M27.8,35.8l-2.1,-2.1 -1.4,1.4 3.5,3.5 6,-6 -1.4,-1.4z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M3,6h18v2H3V6zM3,11h18v2H3v-2zM3,16h18v2H3v-2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M12,14c1.66,0 3,-1.34 3,-3V5c0,-1.66 -1.34,-3 -3,-3S9,3.34 9,5v6c0,1.66 1.34,3 3,3zM17.3,11c0,3 -2.54,5.1 -5.3,5.1S6.7,14 6.7,11H5c0,3.41 2.72,6.23 6,6.72V21h2v-3.28c3.28,-0.49 6,-3.31 6,-6.72h-1.7z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.9,2 2,2zM18,16v-5c0,-3.07 -1.63,-5.64 -4.5,-6.32V4c0,-0.83 -0.67,-1.5 -1.5,-1.5S10.5,3.17 10.5,4v0.68C7.64,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#202124"
|
||||
android:pathData="M8,5v14l11,-7z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M16,9V4l1,0c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1H7C6.45,2 6,2.45 6,3s0.45,1 1,1l1,0v5c0,1.66 -1.34,3 -3,3v2h6v7l1,1 1,-1v-7h6v-2c-1.66,0 -3,-1.34 -3,-3zM8.84,12C9.57,11.27 10,10.24 10,9V4h4v5c0,1.24 0.43,2.27 1.16,3H8.84z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9H1l4,4 4,-4H6c0,-3.86 3.14,-7 7,-7s7,3.14 7,7 -3.14,7 -7,7c-1.93,0 -3.68,-0.78 -4.95,-2.05l-1.42,1.42C8.26,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08V8H12z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M9.5,3C5.9,3 3,5.9 3,9.5S5.9,16 9.5,16c1.6,0 3.1,-0.6 4.2,-1.5L19.2,20 20.5,18.7 15,13.2c0.9,-1.1 1.5,-2.6 1.5,-4.2C16.5,5.9 13.6,3 9.5,3zM9.5,5C12,5 14,7 14,9.5S12,14 9.5,14 5,12 5,9.5 7,5 9.5,5z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M18,16.1c-0.8,0 -1.4,0.3 -2,0.8L8.9,12.7C9,12.5 9,12.2 9,12s0,-0.5 -0.1,-0.7L16,7.2c0.5,0.5 1.2,0.8 2,0.8c1.7,0 3,-1.3 3,-3s-1.3,-3 -3,-3 -3,1.3 -3,3c0,0.2 0,0.5 0.1,0.7L8,9.8C7.5,9.3 6.8,9 6,9c-1.7,0 -3,1.3 -3,3s1.3,3 3,3c0.8,0 1.5,-0.3 2,-0.8l7.1,4.2c-0.1,0.2 -0.1,0.4 -0.1,0.6c0,1.6 1.3,2.9 3,2.9s3,-1.3 3,-3 -1.3,-2.9 -3,-2.9z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#5F6368"
|
||||
android:pathData="M12,4c2.2,0 4.2,0.9 5.7,2.3L15,9h7V2l-2.8,2.8C17.4,3.1 14.9,2 12,2 7.6,2 3.9,4.9 2.7,8.8l1.9,0.6C5.5,6.3 8.4,4 12,4zM19.4,14.6C18.5,17.7 15.6,20 12,20c-2.2,0 -4.2,-0.9 -5.7,-2.3L9,15H2v7l2.8,-2.8C6.6,20.9 9.1,22 12,22c4.4,0 8.1,-2.9 9.3,-6.8l-1.9,-0.6z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="keeper_background">#FFFFFF</color>
|
||||
<color name="keeper_surface">#FFFFFF</color>
|
||||
<color name="keeper_search_background">#F1F3F4</color>
|
||||
<color name="keeper_text_primary">#202124</color>
|
||||
<color name="keeper_text_secondary">#5F6368</color>
|
||||
<color name="keeper_stroke">#DADCE0</color>
|
||||
<color name="keeper_yellow">#F9AB00</color>
|
||||
</resources>
|
||||
@@ -0,0 +1,136 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="filter_all">Все</string>
|
||||
<string name="filter_text">Текст</string>
|
||||
<string name="filter_lists">Списки</string>
|
||||
<string name="filter_images">Картинки</string>
|
||||
<string name="filter_drawings">Рисунки</string>
|
||||
<string name="filter_recordings">Аудио</string>
|
||||
<string name="filter_reminders">Напоминания</string>
|
||||
<string name="filter_color_number">Цвет %1$d</string>
|
||||
<string name="filter_color_active">Цвет</string>
|
||||
<string name="empty_search_results">Ничего не найдено</string>
|
||||
<string name="format_bold">Жирный</string>
|
||||
<string name="format_italic">Курсив</string>
|
||||
<string name="format_underline">Подчеркивание</string>
|
||||
<string name="format_h1">Заголовок H1</string>
|
||||
<string name="format_h2">Заголовок H2</string>
|
||||
<string name="format_normal">Убрать формат</string>
|
||||
<string name="format_select_text">Выделите текст</string>
|
||||
<string name="send_note">Отправить</string>
|
||||
<string name="share_note_failed">Не удалось отправить заметку</string>
|
||||
<string name="share_reminder">Напомнить: %1$s</string>
|
||||
<string name="share_images_count">Изображений: %1$d</string>
|
||||
<string name="share_audio_count">Аудио: %1$d</string>
|
||||
<string name="collaborators_hint">Соавторы QSfera через запятую</string>
|
||||
<string name="collaborator_chip">Совм: %1$s</string>
|
||||
<string name="list_behavior_settings">Поведение списков</string>
|
||||
<string name="add_new_items_to_bottom">Новые пункты внизу</string>
|
||||
<string name="move_checked_items_to_bottom">Отмеченные пункты вниз</string>
|
||||
<string name="app_name">КуЗаметки</string>
|
||||
<string name="search_notes">Поиск заметок</string>
|
||||
<string name="search_reminders">Поиск напоминаний</string>
|
||||
<string name="search_archive">Поиск в архиве</string>
|
||||
<string name="search_trash">Поиск в корзине</string>
|
||||
<string name="search_label">Поиск: %1$s</string>
|
||||
<string name="empty_notes">Заметок нет</string>
|
||||
<string name="empty_reminders">Напоминаний нет</string>
|
||||
<string name="empty_archive">Архив пуст</string>
|
||||
<string name="empty_trash">Корзина пуста</string>
|
||||
<string name="empty_label">В этой метке нет заметок</string>
|
||||
<string name="notes_section">Заметки</string>
|
||||
<string name="reminders_section">Напоминания</string>
|
||||
<string name="archive_section">Архив</string>
|
||||
<string name="trash_section">Корзина</string>
|
||||
<string name="label_section">Метка: %1$s</string>
|
||||
<string name="label_menu_item"># %1$s</string>
|
||||
<string name="pinned_section">Закрепленные</string>
|
||||
<string name="other_notes_section">Другие</string>
|
||||
<string name="section_status">%1$s - %2$s</string>
|
||||
<string name="note_title_hint">Заголовок</string>
|
||||
<string name="note_body_hint">Заметка</string>
|
||||
<string name="save">Сохранить</string>
|
||||
<string name="cancel">Отмена</string>
|
||||
<string name="delete">Удалить</string>
|
||||
<string name="delete_forever">Удалить навсегда</string>
|
||||
<string name="new_list">Новый список</string>
|
||||
<string name="new_image_note">Новая заметка с изображением</string>
|
||||
<string name="new_drawing_note">Новый рисунок</string>
|
||||
<string name="new_voice_note">Голосовая заметка</string>
|
||||
<string name="checklist_mode">Чекбоксы</string>
|
||||
<string name="text_note_mode">Текстовая заметка</string>
|
||||
<string name="add_list_item">Добавить пункт</string>
|
||||
<string name="add_image">Добавить изображение</string>
|
||||
<string name="add_drawing">Добавить рисунок</string>
|
||||
<string name="remove_image">Удалить изображение</string>
|
||||
<string name="image_pick_failed">Не удалось добавить изображение</string>
|
||||
<string name="more_images">Еще изображений: %1$d</string>
|
||||
<string name="save_drawing">Сохранить рисунок</string>
|
||||
<string name="clear_drawing">Очистить</string>
|
||||
<string name="empty_drawing">Сначала нарисуйте что-нибудь</string>
|
||||
<string name="add_audio">Добавить аудио</string>
|
||||
<string name="remove_audio">Удалить аудио</string>
|
||||
<string name="play_audio">Воспроизвести</string>
|
||||
<string name="audio_chip">Аудио %1$d с</string>
|
||||
<string name="audio_ready">Нажмите запись</string>
|
||||
<string name="audio_recording">Идет запись...</string>
|
||||
<string name="audio_recorded">Записано: %1$d с</string>
|
||||
<string name="start_recording">Начать запись</string>
|
||||
<string name="stop_recording">Остановить</string>
|
||||
<string name="audio_empty">Сначала запишите аудио</string>
|
||||
<string name="audio_record_failed">Не удалось записать аудио</string>
|
||||
<string name="audio_play_failed">Не удалось воспроизвести аудио</string>
|
||||
<string name="audio_permission_required">Разрешите доступ к микрофону</string>
|
||||
<string name="voice_note_title">Голосовая заметка</string>
|
||||
<string name="list_item_hint">Пункт списка</string>
|
||||
<string name="empty_checklist_item">Пустой пункт</string>
|
||||
<string name="remove_list_item">Удалить пункт</string>
|
||||
<string name="more_list_items">Еще пунктов: %1$d</string>
|
||||
<string name="labels_hint">Метки через запятую</string>
|
||||
<string name="add_reminder">Добавить напоминание</string>
|
||||
<string name="clear_reminder">Убрать</string>
|
||||
<string name="reminder_set">Напоминание: %1$s</string>
|
||||
<string name="reminder_chip">Напомнить: %1$s</string>
|
||||
<string name="reminder_notification_title">Напоминание QKeep</string>
|
||||
<string name="reminder_channel_name">Напоминания QKeep</string>
|
||||
<string name="reminder_channel_description">Уведомления о заметках с заданным временем</string>
|
||||
<string name="pin_note">Закрепить</string>
|
||||
<string name="unpin_note">Открепить</string>
|
||||
<string name="archive_note">В архив</string>
|
||||
<string name="restore_note">Вернуть</string>
|
||||
<string name="move_to_trash">В корзину</string>
|
||||
<string name="new_note">Новая заметка</string>
|
||||
<string name="edit_note">Редактирование</string>
|
||||
<string name="synced">Синхронизировано</string>
|
||||
<string name="local_mode">Локально</string>
|
||||
<string name="syncing">Синхронизация</string>
|
||||
<string name="sync_error">Облако недоступно</string>
|
||||
<string name="cloud_login_title">Вход в КуЗаметки</string>
|
||||
<string name="cloud_login_server">qsfera.kusoft.xyz</string>
|
||||
<string name="cloud_username">Логин QSfera</string>
|
||||
<string name="cloud_sign_in">Войти через QSfera</string>
|
||||
<string name="cloud_signing_in">Открываю QSfera</string>
|
||||
<string name="cloud_login_failed">Вход в QSfera не завершен</string>
|
||||
<string name="cloud_login_hint">Пароль вводится на защищенной странице QSfera.</string>
|
||||
<string name="account">Аккаунт</string>
|
||||
<string name="logout">Выйти</string>
|
||||
<string name="signed_in_as">Вход выполнен: %1$s</string>
|
||||
<string name="auth_required">Требуется вход в QSfera</string>
|
||||
<string name="menu">Меню</string>
|
||||
<string name="settings">Настройки</string>
|
||||
<string name="close">Закрыть</string>
|
||||
<string name="installed_version">Установлена версия %1$s (%2$d)</string>
|
||||
<string name="update_check_hint">Проверка обновлений выполняется через Argus.</string>
|
||||
<string name="old_versions_cleanup">Старые APK QKeep из папок приложения удаляются автоматически после обновления.</string>
|
||||
<string name="check_updates">Проверить обновления</string>
|
||||
<string name="install_update">Установить обновление</string>
|
||||
<string name="checking_updates">Проверяю обновления…</string>
|
||||
<string name="downloading_update">Скачиваю обновление…</string>
|
||||
<string name="opening_installer">Открываю установщик Android…</string>
|
||||
<string name="up_to_date">Установлена актуальная версия %1$s (%2$d).</string>
|
||||
<string name="update_available">Доступна версия %1$s (%2$d).</string>
|
||||
<string name="update_check_failed">Не удалось проверить обновления.</string>
|
||||
<string name="update_download_failed">Не удалось скачать обновление.</string>
|
||||
<string name="allow_update_install">Разрешите установку из этого источника и повторите установку обновления.</string>
|
||||
<string name="update_installer_missing">На устройстве не найден установщик APK.</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="Theme.Keeper" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||
<item name="android:fontFamily">sans</item>
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
<item name="android:windowLayoutInDisplayCutoutMode">never</item>
|
||||
<item name="android:statusBarColor">@color/keeper_background</item>
|
||||
<item name="android:navigationBarColor">@color/keeper_background</item>
|
||||
<item name="colorAccent">@color/keeper_yellow</item>
|
||||
<item name="colorPrimary">@color/keeper_yellow</item>
|
||||
<item name="colorPrimaryVariant">@color/keeper_yellow</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<paths xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<cache-path
|
||||
name="cache"
|
||||
path="." />
|
||||
<files-path
|
||||
name="files"
|
||||
path="." />
|
||||
<external-cache-path
|
||||
name="external_cache"
|
||||
path="." />
|
||||
<external-files-path
|
||||
name="external_files"
|
||||
path="." />
|
||||
</paths>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<network-security-config>
|
||||
<domain-config cleartextTrafficPermitted="true">
|
||||
<domain includeSubdomains="true">10.0.2.2</domain>
|
||||
<domain includeSubdomains="true">localhost</domain>
|
||||
<domain includeSubdomains="true">127.0.0.1</domain>
|
||||
</domain-config>
|
||||
</network-security-config>
|
||||
Reference in New Issue
Block a user