mirror of
https://github.com/jrpie/Launcher.git
synced 2025-02-23 14:31:30 +01:00
Fix/fast appmenu (#20)
* Preload list of Apps when starting the App In OnCreate, the variable `appsList` is used globally * Improve ChooseActivity layout Match it to the style of settings * Reload appList continuously Every 30 Seconds or when a app gets removed * Create a `Install Apps` button On click the PlayStore will be opened. * Add missing translations * Move global variables to `Functions.kt` Anyone thinking global vars should not be used? I don't care haha... unless ... feel free to fork this repository and provide a better way of doing this ^^
This commit is contained in:
parent
61fd660195
commit
f6c20098b5
10 changed files with 123 additions and 71 deletions
|
@ -35,37 +35,23 @@ class ChooseActivity : AppCompatActivity() {
|
||||||
heading.text = getString(R.string.choose_title_launch)
|
heading.text = getString(R.string.choose_title_launch)
|
||||||
else if (action == "pick") {
|
else if (action == "pick") {
|
||||||
heading.text = getString(R.string.choose_title)
|
heading.text = getString(R.string.choose_title)
|
||||||
subheading.text = forApp // TODO: make translatable
|
|
||||||
}
|
}
|
||||||
else if (action == "uninstall")
|
else if (action == "uninstall")
|
||||||
heading.text = getString(R.string.choose_title_remove)
|
heading.text = getString(R.string.choose_title_remove)
|
||||||
|
|
||||||
/* Build Layout */
|
/* Build Layout */
|
||||||
|
|
||||||
// TODO: Make this more efficient, faster, generate the list before
|
for (resolveInfo in appsList) {
|
||||||
|
|
||||||
val mainIntent = Intent(Intent.ACTION_MAIN, null)
|
|
||||||
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER)
|
|
||||||
|
|
||||||
val pm = packageManager
|
|
||||||
val i = Intent(Intent.ACTION_MAIN)
|
|
||||||
i.addCategory(Intent.CATEGORY_LAUNCHER)
|
|
||||||
val apps = pm.queryIntentActivities(i, 0)
|
|
||||||
|
|
||||||
apps.sortBy { it.activityInfo.loadLabel(pm).toString() }
|
|
||||||
|
|
||||||
for (resolveInfo in apps) {
|
|
||||||
val app = resolveInfo.activityInfo
|
val app = resolveInfo.activityInfo
|
||||||
pm.getLaunchIntentForPackage(app.packageName)
|
|
||||||
|
|
||||||
// creating TextView programmatically
|
// creating TextView programmatically
|
||||||
val tvdynamic = TextView(this)
|
val tvdynamic = TextView(this)
|
||||||
tvdynamic.textSize = 24f
|
tvdynamic.textSize = 24f
|
||||||
tvdynamic.text = app.loadLabel(pm).toString()
|
tvdynamic.text = app.loadLabel(packageManager).toString()
|
||||||
tvdynamic.setTextColor(Color.parseColor("#cccccc"))
|
tvdynamic.setTextColor(Color.parseColor("#cccccc"))
|
||||||
|
|
||||||
if (action == "launch"){
|
if (action == "launch"){
|
||||||
tvdynamic.setOnClickListener { startActivity(pm.getLaunchIntentForPackage(app.packageName)) }
|
tvdynamic.setOnClickListener { startActivity(packageManager.getLaunchIntentForPackage(app.packageName)) }
|
||||||
}
|
}
|
||||||
else if (action == "pick"){
|
else if (action == "pick"){
|
||||||
tvdynamic.setOnClickListener {
|
tvdynamic.setOnClickListener {
|
||||||
|
@ -96,6 +82,7 @@ class ChooseActivity : AppCompatActivity() {
|
||||||
if (requestCode == UNINSTALL_REQUEST_CODE) {
|
if (requestCode == UNINSTALL_REQUEST_CODE) {
|
||||||
if (resultCode == Activity.RESULT_OK) {
|
if (resultCode == Activity.RESULT_OK) {
|
||||||
Toast.makeText(this, getString(R.string.choose_removed_toast), Toast.LENGTH_LONG).show()
|
Toast.makeText(this, getString(R.string.choose_removed_toast), Toast.LENGTH_LONG).show()
|
||||||
|
updateAppList(packageManager)
|
||||||
finish()
|
finish()
|
||||||
} else if (resultCode == Activity.RESULT_FIRST_USER) {
|
} else if (resultCode == Activity.RESULT_FIRST_USER) {
|
||||||
Toast.makeText(this, getString(R.string.choose_not_removed_toast), Toast.LENGTH_LONG).show()
|
Toast.makeText(this, getString(R.string.choose_not_removed_toast), Toast.LENGTH_LONG).show()
|
||||||
|
|
|
@ -7,6 +7,7 @@ import android.content.DialogInterface
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
import android.content.SharedPreferences
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.content.pm.ResolveInfo
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
|
@ -16,6 +17,19 @@ import android.view.animation.Animation
|
||||||
import android.view.animation.DecelerateInterpolator
|
import android.view.animation.DecelerateInterpolator
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
|
||||||
|
/** Variables for all of the app */
|
||||||
|
var upApp = ""
|
||||||
|
var downApp = ""
|
||||||
|
var rightApp = ""
|
||||||
|
var leftApp = ""
|
||||||
|
var volumeUpApp = ""
|
||||||
|
var volumeDownApp = ""
|
||||||
|
|
||||||
|
var calendarApp = ""
|
||||||
|
var clockApp = ""
|
||||||
|
|
||||||
|
var appsList : MutableList<ResolveInfo> = mutableListOf()
|
||||||
|
|
||||||
// Taken from https://stackoverflow.com/questions/47293269
|
// Taken from https://stackoverflow.com/questions/47293269
|
||||||
fun View.blink(
|
fun View.blink(
|
||||||
times: Int = Animation.INFINITE,
|
times: Int = Animation.INFINITE,
|
||||||
|
@ -58,6 +72,13 @@ fun isInstalled(uri: String, context: Context): Boolean {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun updateAppList(pm : PackageManager) {
|
||||||
|
val intent = Intent(Intent.ACTION_MAIN)
|
||||||
|
.addCategory(Intent.CATEGORY_LAUNCHER)
|
||||||
|
appsList = pm.queryIntentActivities(intent, 0)
|
||||||
|
appsList.sortBy { it.activityInfo.loadLabel(pm).toString() }
|
||||||
|
}
|
||||||
|
|
||||||
private fun getIntent(packageName: String, context: Context): Intent? {
|
private fun getIntent(packageName: String, context: Context): Intent? {
|
||||||
val intent: Intent? = context.packageManager.getLaunchIntentForPackage(packageName)
|
val intent: Intent? = context.packageManager.getLaunchIntentForPackage(packageName)
|
||||||
intent?.addCategory(Intent.CATEGORY_LAUNCHER)
|
intent?.addCategory(Intent.CATEGORY_LAUNCHER)
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.finnmglas.launcher
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.os.AsyncTask
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.view.*
|
import android.view.*
|
||||||
|
@ -13,17 +14,6 @@ import java.util.*
|
||||||
import kotlin.concurrent.fixedRateTimer
|
import kotlin.concurrent.fixedRateTimer
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
|
|
||||||
/** Variables for all of the app */
|
|
||||||
var upApp = ""
|
|
||||||
var downApp = ""
|
|
||||||
var rightApp = ""
|
|
||||||
var leftApp = ""
|
|
||||||
var volumeUpApp = ""
|
|
||||||
var volumeDownApp = ""
|
|
||||||
|
|
||||||
var calendarApp = ""
|
|
||||||
var clockApp = ""
|
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity(),
|
class MainActivity : AppCompatActivity(),
|
||||||
GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener {
|
GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener {
|
||||||
|
|
||||||
|
@ -36,6 +26,7 @@ class MainActivity : AppCompatActivity(),
|
||||||
// timers
|
// timers
|
||||||
private var clockTimer = Timer()
|
private var clockTimer = Timer()
|
||||||
private var tooltipTimer = Timer()
|
private var tooltipTimer = Timer()
|
||||||
|
private var loadAppsTimer = Timer()
|
||||||
|
|
||||||
private var settingsIconShown = false
|
private var settingsIconShown = false
|
||||||
|
|
||||||
|
@ -99,11 +90,17 @@ class MainActivity : AppCompatActivity(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val pm = packageManager
|
||||||
|
|
||||||
|
loadAppsTimer = fixedRateTimer("loadAppsTimer", true, 0L, 30000) {
|
||||||
|
AsyncTask.execute { updateAppList(pm) }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPause() {
|
override fun onPause() {
|
||||||
super.onPause()
|
super.onPause()
|
||||||
clockTimer.cancel()
|
clockTimer.cancel()
|
||||||
|
loadAppsTimer.cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ import android.os.Bundle
|
||||||
import android.provider.Settings
|
import android.provider.Settings
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.viewpager.widget.ViewPager
|
import androidx.viewpager.widget.ViewPager
|
||||||
import com.finnmglas.launcher.ui.main.SectionsPagerAdapter
|
import com.finnmglas.launcher.ui.main.SectionsPagerAdapter
|
||||||
|
@ -81,6 +82,18 @@ class SettingsActivity : AppCompatActivity() {
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun chooseInstallApp(view : View) {
|
||||||
|
try {
|
||||||
|
val rateIntent = Intent(
|
||||||
|
Intent.ACTION_VIEW,
|
||||||
|
Uri.parse("https://play.google.com/store/apps/"))
|
||||||
|
startActivity(rateIntent)
|
||||||
|
} catch (e: ActivityNotFoundException) {
|
||||||
|
Toast.makeText(this,getString(R.string.settings_toast_store_not_found), Toast.LENGTH_SHORT)
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun openFinnWebsite(view: View) { openNewTabWindow(getString(R.string.settings_footer_web), this) }
|
fun openFinnWebsite(view: View) { openNewTabWindow(getString(R.string.settings_footer_web), this) }
|
||||||
fun openGithubRepo(view: View) { openNewTabWindow(getString(R.string.settings_footer_repo), this) }
|
fun openGithubRepo(view: View) { openNewTabWindow(getString(R.string.settings_footer_repo), this) }
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:custom="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/container"
|
android:id="@+id/container"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -7,45 +8,70 @@
|
||||||
android:background="?attr/colorPrimaryDark"
|
android:background="?attr/colorPrimaryDark"
|
||||||
tools:context=".ChooseActivity">
|
tools:context=".ChooseActivity">
|
||||||
|
|
||||||
<TextView
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
android:id="@+id/heading"
|
android:id="@+id/app_bar"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/choose_title"
|
android:background="@color/colorPrimaryDark"
|
||||||
android:textColor="#cccccc"
|
android:gravity="center"
|
||||||
android:textSize="36sp"
|
android:theme="@style/AppTheme.AppBarOverlay"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
app:layout_constraintVertical_bias="0.100000024" />
|
|
||||||
|
|
||||||
<TextView
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/subheading"
|
android:layout_width="match_parent"
|
||||||
android:layout_width="wrap_content"
|
android:layout_height="match_parent">
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:textColor="#999999"
|
<TextView
|
||||||
android:textSize="14sp"
|
android:id="@+id/heading"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
android:layout_width="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
android:gravity="center"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
android:minHeight="?actionBarSize"
|
||||||
app:layout_constraintVertical_bias="0.17000002" />
|
android:padding="@dimen/appbar_padding"
|
||||||
|
android:text="@string/choose_title"
|
||||||
|
android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
|
||||||
|
android:textSize="30sp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<com.finnmglas.launcher.FontAwesome
|
||||||
|
android:id="@+id/close_settings"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="8dp"
|
||||||
|
android:layout_marginRight="8dp"
|
||||||
|
android:gravity="center"
|
||||||
|
android:includeFontPadding="true"
|
||||||
|
android:onClick="backHome"
|
||||||
|
android:paddingLeft="16sp"
|
||||||
|
android:paddingRight="16sp"
|
||||||
|
android:text="@string/fa_close_window"
|
||||||
|
android:textColor="#ffffff"
|
||||||
|
android:textSize="22sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
custom:type="solid" />
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/scrollView3"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginTop="86dp"
|
android:layout_marginTop="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:layout_marginRight="16dp"
|
android:layout_marginRight="16dp"
|
||||||
android:layout_marginBottom="128dp"
|
android:layout_marginBottom="16dp"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/heading">
|
app:layout_constraintTop_toBottomOf="@id/app_bar">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/apps_list"
|
android:id="@+id/apps_list"
|
||||||
|
@ -54,14 +80,4 @@
|
||||||
android:orientation="vertical" />
|
android:orientation="vertical" />
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
<Button
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:onClick="backHome"
|
|
||||||
android:text="@string/choose_back_settings"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toBottomOf="@+id/scrollView3" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -19,7 +19,7 @@
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/title"
|
android:id="@+id/heading"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
|
|
|
@ -178,6 +178,14 @@
|
||||||
android:text="@string/settings_launch"
|
android:text="@string/settings_launch"
|
||||||
android:textAllCaps="false" />
|
android:textAllCaps="false" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
style="@style/Widget.AppCompat.Button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:onClick="chooseInstallApp"
|
||||||
|
android:text="@string/settings_install"
|
||||||
|
android:textAllCaps="false" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
style="@style/Widget.AppCompat.Button"
|
style="@style/Widget.AppCompat.Button"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -11,8 +11,9 @@
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="settings_title">Einstellungen</string>
|
<string name="settings_title">Einstellungen</string>
|
||||||
<string name="settings_sub_title1">Anwendungen</string>
|
|
||||||
<string name="settings_sub_title2">Aktionen</string>
|
<string name="settings_show_tutorial">Zum Launcher Tutorial</string>
|
||||||
|
<string name="settings_feedback">Feedback geben</string>
|
||||||
|
|
||||||
<string name="settings_choose_up">Hochwischen</string>
|
<string name="settings_choose_up">Hochwischen</string>
|
||||||
<string name="settings_choose_down">Runterwischen</string>
|
<string name="settings_choose_down">Runterwischen</string>
|
||||||
|
@ -27,8 +28,11 @@
|
||||||
<string name="settings_reset_message">All deine Einstellungen gehen verloren. Weitermachen?</string>
|
<string name="settings_reset_message">All deine Einstellungen gehen verloren. Weitermachen?</string>
|
||||||
<string name="settings_launch">Apps öffnen</string>
|
<string name="settings_launch">Apps öffnen</string>
|
||||||
<string name="settings_uninstall">Apps entfernen</string>
|
<string name="settings_uninstall">Apps entfernen</string>
|
||||||
|
<string name="settings_install">Apps installieren</string>
|
||||||
<string name="settings_home">Zurück</string>
|
<string name="settings_home">Zurück</string>
|
||||||
|
|
||||||
|
<string name="settings_toast_store_not_found">PlayStore nicht gefunden</string>
|
||||||
|
|
||||||
<string name="settings_footer_by">Von</string>
|
<string name="settings_footer_by">Von</string>
|
||||||
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher#de</string>
|
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher#de</string>
|
||||||
<string name="settings_footer_web">https://www.finnmglas.com/de/</string>
|
<string name="settings_footer_web">https://www.finnmglas.com/de/</string>
|
||||||
|
@ -59,4 +63,5 @@
|
||||||
<item>Einrichtung|Du kannst auch eigene Apps auswählen:\n\nÖffne die Einstellungen durch langes tippen auf den Startbildschirm.|— Zurück = Lautstärke Runter —|36F|0</item>
|
<item>Einrichtung|Du kannst auch eigene Apps auswählen:\n\nÖffne die Einstellungen durch langes tippen auf den Startbildschirm.|— Zurück = Lautstärke Runter —|36F|0</item>
|
||||||
<item>|Du bist bereit loszulegen!\n\nIch hoffe diese App ist sehr wertvoll für dich!\n\n- Finn M Glas\n\n|— Launcher von Finn M Glas —|36F|0</item>
|
<item>|Du bist bereit loszulegen!\n\nIch hoffe diese App ist sehr wertvoll für dich!\n\n- Finn M Glas\n\n|— Launcher von Finn M Glas —|36F|0</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
|
@ -11,8 +11,9 @@
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="settings_title">Réglages</string>
|
<string name="settings_title">Réglages</string>
|
||||||
<string name="settings_sub_title1">Applications</string>
|
|
||||||
<string name="settings_sub_title2">Actions</string>
|
<string name="settings_feedback">Donner une rétroaction</string>
|
||||||
|
<string name="settings_show_tutorial">Regardez le tutoriel</string>
|
||||||
|
|
||||||
<string name="settings_choose_up">Balayez haut</string>
|
<string name="settings_choose_up">Balayez haut</string>
|
||||||
<string name="settings_choose_down">Balayez bas</string>
|
<string name="settings_choose_down">Balayez bas</string>
|
||||||
|
@ -27,8 +28,11 @@
|
||||||
<string name="settings_reset_message">Vous allez supprimer toutes vos préférences. Continuer?</string>
|
<string name="settings_reset_message">Vous allez supprimer toutes vos préférences. Continuer?</string>
|
||||||
<string name="settings_launch">Lancer apps</string>
|
<string name="settings_launch">Lancer apps</string>
|
||||||
<string name="settings_uninstall">Désinstaller apps</string>
|
<string name="settings_uninstall">Désinstaller apps</string>
|
||||||
|
<string name="settings_install">Installer apps</string>
|
||||||
<string name="settings_home">Retourner</string>
|
<string name="settings_home">Retourner</string>
|
||||||
|
|
||||||
|
<string name="settings_toast_store_not_found">Pas trouvé le PlayStore</string>
|
||||||
|
|
||||||
<string name="settings_footer_by">Par</string>
|
<string name="settings_footer_by">Par</string>
|
||||||
<string name="settings_footer_web">https://www.finnmglas.com/fr/</string>
|
<string name="settings_footer_web">https://www.finnmglas.com/fr/</string>
|
||||||
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher</string>
|
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher</string>
|
||||||
|
|
|
@ -15,15 +15,13 @@
|
||||||
|
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<string name="settings_title">Settings</string>
|
<string name="settings_title">Settings</string>
|
||||||
<string name="settings_sub_title1">Applications</string>
|
|
||||||
<string name="settings_sub_title2">Actions</string>
|
|
||||||
|
|
||||||
<string name="settings_tab_app" translatable="false">Apps</string>
|
<string name="settings_tab_app" translatable="false">Apps</string>
|
||||||
<string name="settings_tab_theme" translatable="false">Theme</string>
|
<string name="settings_tab_theme" translatable="false">Theme</string>
|
||||||
<string name="settings_tab_launcher" translatable="false">Launcher</string>
|
<string name="settings_tab_launcher" translatable="false">Launcher</string>
|
||||||
|
|
||||||
<string name="settings_feedback" translatable="false">Give some feedback</string>
|
<string name="settings_feedback">Give some feedback</string>
|
||||||
<string name="settings_show_tutorial" translatable="false">View Launcher Tutorial</string>
|
<string name="settings_show_tutorial">View Launcher Tutorial</string>
|
||||||
|
|
||||||
<string name="settings_choose_up">Swipe Up</string>
|
<string name="settings_choose_up">Swipe Up</string>
|
||||||
<string name="settings_choose_down">Swipe Down</string>
|
<string name="settings_choose_down">Swipe Down</string>
|
||||||
|
@ -38,8 +36,11 @@
|
||||||
<string name="settings_reset_message">You are going to discard all your preferences. Continue?</string>
|
<string name="settings_reset_message">You are going to discard all your preferences. Continue?</string>
|
||||||
<string name="settings_launch">Launch Apps</string>
|
<string name="settings_launch">Launch Apps</string>
|
||||||
<string name="settings_uninstall">Uninstall Apps</string>
|
<string name="settings_uninstall">Uninstall Apps</string>
|
||||||
|
<string name="settings_install">Install Apps</string>
|
||||||
<string name="settings_home">Back Home</string>
|
<string name="settings_home">Back Home</string>
|
||||||
|
|
||||||
|
<string name="settings_toast_store_not_found">PlayStore not found</string>
|
||||||
|
|
||||||
<string name="settings_footer_by">By</string>
|
<string name="settings_footer_by">By</string>
|
||||||
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher#en</string>
|
<string name="settings_footer_repo">https://github.com/finnmglas/Launcher#en</string>
|
||||||
<string name="settings_footer_web">https://www.finnmglas.com</string>
|
<string name="settings_footer_web">https://www.finnmglas.com</string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue