mirror of
https://github.com/He4eT/yamf_launcher.git
synced 2026-05-04 17:37:25 +00:00
xml refactoring and added a privacy policy
This commit is contained in:
parent
830c45cb63
commit
8ee1d67eb3
34 changed files with 172 additions and 179 deletions
26
PrivacyPolicy.md
Normal file
26
PrivacyPolicy.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Privacy Policy
|
||||
|
||||
## Collected data
|
||||
The application stores data related to its preferences.
|
||||
|
||||
For example, if you choose to align the clock to the center, this preference is saved so that the clock does not get reset to the left when the application is launched the next time.
|
||||
|
||||
By default, no more data is collected, but certain options may result in further data being collected.
|
||||
|
||||
### Weather
|
||||
If you enable weather, the application stores the coordinates that you set for the location. If you have set a location manually, those are the coordinates of that location. If you use GPS location, your GPS coordinates are stored.
|
||||
|
||||
### Accessibility service
|
||||
If you enable the Double Tap to Lock Screen preference, the application needs its accessibility service to be enabled. This means giving it "full control of your device" as described by the notification by Android. This permission is exclusively used to lock your phone's screen. The application does not collect any data using the service.
|
||||
|
||||
## Data sent to the developer
|
||||
No data is sent to the developer.
|
||||
|
||||
## Data sent to third parties
|
||||
By default, the application does not connect to the internet or send any data anywhere.
|
||||
|
||||
However, enabling the weather option requires certain data to be sent to Open-Meteo for purposes of retrieving locations and weather. This data includes the URL used for the request. Open-Meteo may also store your IP address.
|
||||
|
||||
The URL includes the coordinates of your weather location. If the location is manually set, the coordinates are of the selected location. If GPS location is used, the coordinates are the set GPS coordinates.
|
||||
|
||||
For information on how this data is handled, refer to [Open-Meteo](https://open-meteo.com/en/terms).
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.screenLockService"
|
||||
android:name="android.accessibilityservice"
|
||||
android:resource="@xml/screenlock_service_config" />
|
||||
</service>
|
||||
</application>
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ class AppActionMenu {
|
|||
textView.visibility = View.INVISIBLE
|
||||
animations.fadeViewIn(editLayout)
|
||||
animations.fadeViewOut(actionMenu, 100)
|
||||
val editText = editLayout.findViewById<EditText>(R.id.app_name_edit)
|
||||
val editText = editLayout.findViewById<EditText>(R.id.appNameEdit)
|
||||
val resetButton = editLayout.findViewById<AppCompatButton>(R.id.reset)
|
||||
|
||||
val app = Pair(mainActivity!!, Pair(userHandle, workProfile))
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ class AppMenuAdapter(
|
|||
private val itemClickListener: OnItemClickListener,
|
||||
private val shortcutListener: OnShortcutListener,
|
||||
private val itemLongClickListener: OnItemLongClickListener,
|
||||
private val launcherApps: LauncherApps
|
||||
launcherApps: LauncherApps
|
||||
) :
|
||||
RecyclerView.Adapter<AppMenuAdapter.AppViewHolder>() {
|
||||
|
||||
|
|
@ -57,11 +57,11 @@ class AppMenuAdapter(
|
|||
}
|
||||
|
||||
inner class AppViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.list_item)
|
||||
val textView: TextView = listItem.findViewById(R.id.app_name)
|
||||
val actionMenuLayout: LinearLayout = listItem.findViewById(R.id.action_menu)
|
||||
private val editView: LinearLayout = listItem.findViewById(R.id.rename_view)
|
||||
val editText: TextInputEditText = editView.findViewById(R.id.app_name_edit)
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.listItem)
|
||||
val textView: TextView = listItem.findViewById(R.id.appName)
|
||||
val actionMenuLayout: LinearLayout = listItem.findViewById(R.id.actionMenu)
|
||||
private val editView: LinearLayout = listItem.findViewById(R.id.renameView)
|
||||
val editText: TextInputEditText = editView.findViewById(R.id.appNameEdit)
|
||||
|
||||
init {
|
||||
actionMenuLayout.visibility = View.INVISIBLE
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import android.content.pm.LauncherActivityInfo
|
|||
import android.content.pm.LauncherApps
|
||||
import android.os.UserHandle
|
||||
import android.widget.Toast
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ class GestureAppsAdapter(
|
|||
}
|
||||
|
||||
inner class AppViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.list_item)
|
||||
val textView: TextView = listItem.findViewById(R.id.app_name)
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.listItem)
|
||||
val textView: TextView = listItem.findViewById(R.id.appName)
|
||||
|
||||
init {
|
||||
textView.setOnClickListener {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import android.view.ViewGroup
|
|||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.setFragmentResult
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
|
@ -57,7 +56,7 @@ class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
|||
this@GestureAppsFragment
|
||||
)
|
||||
}
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.gesture_app_recycler)
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.gestureAppRecycler)
|
||||
val appMenuEdgeFactory = AppMenuEdgeFactory(requireActivity())
|
||||
val uiUtils = UIUtils(requireContext())
|
||||
|
||||
|
|
@ -68,7 +67,7 @@ class GestureAppsFragment : Fragment(), GestureAppsAdapter.OnItemClickListener {
|
|||
|
||||
val searchView = view.findViewById<TextInputEditText>(R.id.gestureAppSearch)
|
||||
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.gesture_menutitle))
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.gestureMenuTitle))
|
||||
uiUtils.setSearchAlignment(searchView)
|
||||
uiUtils.setSearchSize(searchView)
|
||||
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ class HiddenAppsAdapter(
|
|||
}
|
||||
|
||||
inner class AppViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.list_item)
|
||||
val textView: TextView = listItem.findViewById(R.id.app_name)
|
||||
private val listItem: FrameLayout = itemView.findViewById(R.id.listItem)
|
||||
val textView: TextView = listItem.findViewById(R.id.appName)
|
||||
|
||||
init {
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
|
||||
|
|
@ -41,7 +40,7 @@ class HiddenAppsFragment : Fragment(), HiddenAppsAdapter.OnItemClickListener {
|
|||
appUtils = AppUtils(requireContext(), launcherApps)
|
||||
sharedPreferenceManager = SharedPreferenceManager(requireContext())
|
||||
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.hidden_app_recycler)
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.hiddenAppRecycler)
|
||||
val appMenuEdgeFactory = AppMenuEdgeFactory(requireActivity())
|
||||
|
||||
adapter = HiddenAppsAdapter(requireContext(), appUtils.getHiddenApps().toMutableList(), this)
|
||||
|
|
@ -54,7 +53,7 @@ class HiddenAppsFragment : Fragment(), HiddenAppsAdapter.OnItemClickListener {
|
|||
|
||||
val searchView = view.findViewById<TextInputEditText>(R.id.hiddenAppSearch)
|
||||
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.hidden_menutitle))
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.hiddenMenuTitle))
|
||||
uiUtils.setSearchAlignment(searchView)
|
||||
uiUtils.setSearchSize(searchView)
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ import android.view.ViewGroup
|
|||
import android.view.inputmethod.InputMethodManager
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.textfield.TextInputEditText
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
|
|
@ -52,9 +51,9 @@ class LocationFragment : Fragment(), LocationListAdapter.OnItemClickListener {
|
|||
}
|
||||
|
||||
adapter = LocationListAdapter(requireContext(), locationList, this)
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.locationrecycler)
|
||||
val recyclerView = view.findViewById<RecyclerView>(R.id.locationRecycler)
|
||||
val appMenuEdgeFactory = AppMenuEdgeFactory(requireActivity())
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.location_menutitle))
|
||||
uiUtils.setMenuTitleAlignment(view.findViewById(R.id.locationMenuTitle))
|
||||
uiUtils.setSearchAlignment(searchView)
|
||||
uiUtils.setSearchSize(searchView)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,9 +23,9 @@ class LocationListAdapter(
|
|||
}
|
||||
|
||||
inner class AppViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
|
||||
private val listItem: ConstraintLayout = itemView.findViewById(R.id.location_place)
|
||||
val textView: TextView = listItem.findViewById(R.id.location_name)
|
||||
val regionText: TextView = listItem.findViewById(R.id.region_name)
|
||||
private val listItem: ConstraintLayout = itemView.findViewById(R.id.locationPlace)
|
||||
val textView: TextView = listItem.findViewById(R.id.locationName)
|
||||
val regionText: TextView = listItem.findViewById(R.id.regionName)
|
||||
|
||||
init {
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@ import android.os.UserHandle
|
|||
import android.text.Editable
|
||||
import android.text.TextWatcher
|
||||
import android.view.GestureDetector
|
||||
import android.view.Gravity
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.inputmethod.InputMethodManager
|
||||
|
|
@ -133,11 +132,11 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
gestureDetector = GestureDetector(this, GestureListener())
|
||||
shortcutGestureDetector = GestureDetector(this, TextGestureListener())
|
||||
|
||||
clock = findViewById(R.id.text_clock)
|
||||
clock = findViewById(R.id.textClock)
|
||||
|
||||
clockMargin = clock.marginLeft
|
||||
|
||||
dateText = findViewById(R.id.text_date)
|
||||
dateText = findViewById(R.id.textDate)
|
||||
|
||||
dateElements = mutableListOf(dateText.format12Hour.toString(), dateText.format24Hour.toString(), "", "")
|
||||
|
||||
|
|
@ -213,8 +212,8 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
Toast.makeText(this, "Long click to select an app", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
textView.setOnLongClickListener {
|
||||
uiUtils.setMenuTitleAlignment(binding.menutitle)
|
||||
binding.menutitle.visibility = View.VISIBLE
|
||||
uiUtils.setMenuTitleAlignment(binding.menuTitle)
|
||||
binding.menuTitle.visibility = View.VISIBLE
|
||||
|
||||
adapter?.shortcutTextView = textView
|
||||
toAppMenu()
|
||||
|
|
@ -475,7 +474,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
private suspend fun setupRecyclerView(newApps: MutableList<Pair<LauncherActivityInfo, Pair<UserHandle, Int>>>) {
|
||||
adapter = AppMenuAdapter(this@MainActivity, newApps, this@MainActivity, this@MainActivity, this@MainActivity, launcherApps)
|
||||
appMenuLinearLayoutManager.stackFromEnd = true
|
||||
recyclerView = findViewById(R.id.recycler_view)
|
||||
recyclerView = findViewById(R.id.recyclerView)
|
||||
withContext(Dispatchers.Main) {
|
||||
recyclerView.layoutManager = appMenuLinearLayoutManager
|
||||
recyclerView.edgeEffectFactory = appMenuEdgeFactory
|
||||
|
|
@ -732,7 +731,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh
|
|||
|
||||
private fun openAppMenu() {
|
||||
adapter?.shortcutTextView = null
|
||||
binding.menutitle.visibility = View.GONE
|
||||
binding.menuTitle.visibility = View.GONE
|
||||
toAppMenu()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ class SettingsActivity : AppCompatActivity() {
|
|||
setContentView(binding.root)
|
||||
supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, SettingsFragment())
|
||||
.replace(R.id.settingsLayout, SettingsFragment())
|
||||
.commit()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
Preference.OnPreferenceClickListener {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, LocationFragment())
|
||||
.replace(R.id.settingsLayout, LocationFragment())
|
||||
.addToBackStack(null)
|
||||
.commit()
|
||||
true
|
||||
|
|
@ -55,7 +55,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
Preference.OnPreferenceClickListener {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, HiddenAppsFragment())
|
||||
.replace(R.id.settingsLayout, HiddenAppsFragment())
|
||||
.addToBackStack(null)
|
||||
.commit()
|
||||
true }
|
||||
|
|
@ -64,7 +64,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
Preference.OnPreferenceClickListener {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, GestureAppsFragment())
|
||||
.replace(R.id.settingsLayout, GestureAppsFragment())
|
||||
.addToBackStack(null)
|
||||
.commit()
|
||||
setFragmentResultListener("request_key") { _, bundle ->
|
||||
|
|
@ -84,7 +84,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
Preference.OnPreferenceClickListener {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, GestureAppsFragment())
|
||||
.replace(R.id.settingsLayout, GestureAppsFragment())
|
||||
.addToBackStack(null)
|
||||
.commit()
|
||||
setFragmentResultListener("request_key") { _, bundle ->
|
||||
|
|
@ -104,7 +104,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
|||
Preference.OnPreferenceClickListener {
|
||||
requireActivity().supportFragmentManager
|
||||
.beginTransaction()
|
||||
.replace(R.id.settings_layout, AboutFragment())
|
||||
.replace(R.id.settingsLayout, AboutFragment())
|
||||
.addToBackStack(null)
|
||||
.commit()
|
||||
true }
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ import android.location.Location
|
|||
import android.location.LocationManager
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main_view"
|
||||
android:id="@+id/mainView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
tools:context=".MainActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/app_view"
|
||||
android:id="@+id/appView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="bottom"
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
android:layout_height="60dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/menutitle"
|
||||
android:id="@+id/menuTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
android:textSize="36sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
|
|
@ -53,7 +53,6 @@
|
|||
android:id="@+id/searchView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginHorizontal="32dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
|
|
@ -72,7 +71,7 @@
|
|||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/home_view"
|
||||
android:id="@+id/homeView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="fill_vertical"
|
||||
|
|
@ -81,12 +80,12 @@
|
|||
android:visibility="visible">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/clock_layout"
|
||||
android:id="@+id/clockLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextClock
|
||||
android:id="@+id/text_clock"
|
||||
android:id="@+id/textClock"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="32dp"
|
||||
|
|
@ -95,7 +94,6 @@
|
|||
android:fontFamily="@null"
|
||||
android:format12Hour="hh:mm a"
|
||||
android:format24Hour="HH:mm"
|
||||
android:gravity="bottom"
|
||||
android:textAlignment="textStart"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3"
|
||||
|
|
@ -106,7 +104,7 @@
|
|||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextClock
|
||||
android:id="@+id/text_date"
|
||||
android:id="@+id/textDate"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@null"
|
||||
|
|
@ -118,9 +116,9 @@
|
|||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/text_clock"
|
||||
app:layout_constraintStart_toStartOf="@+id/text_clock"
|
||||
app:layout_constraintTop_toBottomOf="@+id/text_clock" />
|
||||
app:layout_constraintEnd_toEndOf="@+id/textClock"
|
||||
app:layout_constraintStart_toStartOf="@+id/textClock"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textClock" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/settingsLayout"
|
||||
android:id="@+id/settingsActivity"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".SettingsActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/settings_layout"
|
||||
android:id="@+id/settingsLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingTop="40dp">
|
||||
|
|
|
|||
|
|
@ -1,22 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/list_item"
|
||||
android:id="@+id/listItem"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="0dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/rename_view"
|
||||
android:id="@+id/renameView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingVertical="10dp"
|
||||
android:visibility="invisible">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/app_name_edit"
|
||||
android:id="@+id/appNameEdit"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
|
|
@ -44,13 +43,13 @@
|
|||
android:gravity="center"
|
||||
android:insetTop="0dp"
|
||||
android:insetBottom="0dp"
|
||||
android:text="Reset"
|
||||
android:text="@string/reset"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/app_name"
|
||||
android:id="@+id/appName"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -67,7 +66,7 @@
|
|||
app:drawableLeftCompat="@drawable/ic_work_app" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/action_menu"
|
||||
android:id="@+id/actionMenu"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center"
|
||||
|
|
@ -80,7 +79,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="#A7000000"
|
||||
android:foreground="@drawable/app_action_foreground"
|
||||
android:text="Info"
|
||||
android:text="@string/info"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3FF"
|
||||
|
|
@ -93,7 +92,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="#A7000000"
|
||||
android:foreground="@drawable/app_action_foreground"
|
||||
android:text="Uninstall"
|
||||
android:text="@string/uninstall"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3FF"
|
||||
|
|
@ -106,7 +105,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="#A7000000"
|
||||
android:foreground="@drawable/app_action_foreground"
|
||||
android:text="Rename"
|
||||
android:text="@string/rename"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3FF"
|
||||
|
|
@ -119,7 +118,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="#A7000000"
|
||||
android:foreground="@drawable/app_action_foreground"
|
||||
android:text="Hide"
|
||||
android:text="@string/hide"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3FF"
|
||||
|
|
@ -132,7 +131,7 @@
|
|||
android:layout_weight="1"
|
||||
android:background="#A7000000"
|
||||
android:foreground="@drawable/app_action_foreground"
|
||||
android:text="Close"
|
||||
android:text="@string/close"
|
||||
android:textAlignment="center"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#F3F3F3FF"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/frameLayout"
|
||||
android:id="@+id/aboutLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".AboutFragment">
|
||||
|
|
@ -11,13 +11,14 @@
|
|||
android:id="@+id/imageView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="200dp"
|
||||
android:contentDescription="@string/app_icon"
|
||||
android:src="@drawable/ic_launcher_foreground"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView2"
|
||||
android:id="@+id/appNameView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
|
|
@ -32,18 +33,18 @@
|
|||
android:id="@+id/creditText"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="By Otto Petäjä"
|
||||
android:text="@string/creditName"
|
||||
android:textSize="17sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/textView2"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textView2" />
|
||||
app:layout_constraintStart_toStartOf="@+id/appNameView"
|
||||
app:layout_constraintTop_toBottomOf="@+id/appNameView" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/sourceTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:text="Source Code"
|
||||
android:text="@string/source_code"
|
||||
android:textAlignment="center"
|
||||
android:textSize="24sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
@ -66,7 +67,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:linksClickable="true"
|
||||
android:text="Codeberg"
|
||||
android:text="@string/codeberg"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/githubLink"
|
||||
|
|
@ -79,7 +80,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:linksClickable="true"
|
||||
android:text="GitHub"
|
||||
android:text="@string/github"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
@ -91,7 +92,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="40dp"
|
||||
android:text="Donate"
|
||||
android:text="@string/donate"
|
||||
android:textAlignment="center"
|
||||
android:textSize="24sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
@ -114,7 +115,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:linksClickable="true"
|
||||
android:text="Stripe"
|
||||
android:text="@string/stripe"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
|
@ -127,7 +128,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:linksClickable="true"
|
||||
android:text="Liberapay"
|
||||
android:text="@string/liberapay"
|
||||
android:textAlignment="center"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toStartOf="@+id/stripeLink"
|
||||
|
|
@ -140,7 +141,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:linksClickable="true"
|
||||
android:text="Weather data by Open-Meteo.com\n(CC BY 4.0)"
|
||||
android:text="@string/weather_data_credit"
|
||||
android:textAlignment="center"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/gesture_app_view"
|
||||
android:id="@+id/gestureAppView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="bottom"
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
android:layout_height="60dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/gesture_menutitle"
|
||||
android:id="@+id/gestureMenuTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
android:textSize="36sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/gesture_app_recycler"
|
||||
android:id="@+id/gestureAppRecycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/hidden_app_view"
|
||||
android:id="@+id/hiddenAppView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="bottom"
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
android:layout_height="60dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/hidden_menutitle"
|
||||
android:id="@+id/hiddenMenuTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -23,13 +23,13 @@
|
|||
android:paddingTop="20dp"
|
||||
android:paddingRight="40dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:text="Unhide an app"
|
||||
android:text="@string/unhide_an_app"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#C1F3F3F3"
|
||||
android:textSize="36sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/hidden_app_recycler"
|
||||
android:id="@+id/hiddenAppRecycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/manual_location_view"
|
||||
android:id="@+id/manualLocationView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="bottom"
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
android:layout_height="60dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/location_menutitle"
|
||||
android:id="@+id/locationMenuTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -23,13 +23,13 @@
|
|||
android:paddingTop="20dp"
|
||||
android:paddingRight="40dp"
|
||||
android:paddingBottom="20dp"
|
||||
android:text="Find your city"
|
||||
android:text="@string/find_your_city"
|
||||
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
|
||||
android:textColor="#C1F3F3F3"
|
||||
android:textSize="36sp" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/locationrecycler"
|
||||
android:id="@+id/locationRecycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
android:layout_marginTop="0dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:linksClickable="true"
|
||||
android:text="Weather data by Open-Meteo.com\n(CC BY 4.0)"
|
||||
android:text="@string/weather_data_credit"
|
||||
android:textAlignment="center"
|
||||
android:textColor="#B3A5A5A5"
|
||||
android:textColorLink="#7F80CBC4"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/location_place"
|
||||
android:id="@+id/locationPlace"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/location_name"
|
||||
android:id="@+id/locationName"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -26,7 +25,7 @@
|
|||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/region_name"
|
||||
android:id="@+id/regionName"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:clickable="false"
|
||||
|
|
@ -40,8 +39,8 @@
|
|||
android:textColor="#C3C3C3"
|
||||
android:textSize="14sp"
|
||||
android:visibility="visible"
|
||||
app:layout_constraintEnd_toEndOf="@+id/location_name"
|
||||
app:layout_constraintEnd_toEndOf="@+id/locationName"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/location_name" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/locationName" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/nav_graph" />
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<resources>
|
||||
<dimen name="fab_margin">48dp</dimen>
|
||||
</resources>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
</resources>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<resources>
|
||||
<dimen name="fab_margin">200dp</dimen>
|
||||
</resources>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<resources>
|
||||
<dimen name="fab_margin">48dp</dimen>
|
||||
</resources>
|
||||
|
|
@ -1,13 +1,39 @@
|
|||
<resources>
|
||||
<!-- Reply Preference -->
|
||||
<string-array name="reply_entries">
|
||||
<item>Reply</item>
|
||||
<item>Reply to all</item>
|
||||
|
||||
<string-array name="shortcut_options">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>7</item>
|
||||
<item>8</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="reply_values">
|
||||
<item>reply</item>
|
||||
<item>reply_all</item>
|
||||
<string-array name="bg_options">
|
||||
<item>Transparent</item>
|
||||
<item>Black</item>
|
||||
<item>Grey</item>
|
||||
<item>White</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="bg_values">
|
||||
<item>#00000000</item>
|
||||
<item>#FF000000</item>
|
||||
<item>#FF1B1B1B</item>
|
||||
<item>#FFD6D6D6</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="color_options">
|
||||
<item>Light</item>
|
||||
<item>Dark</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="color_values">
|
||||
<item>#FFF3F3F3</item>
|
||||
<item>#FF0C0C0C</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="h_alignment_options">
|
||||
|
|
@ -43,40 +69,4 @@
|
|||
<item>celsius</item>
|
||||
<item>fahrenheit</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="bg_options">
|
||||
<item>Transparent</item>
|
||||
<item>Black</item>
|
||||
<item>Grey</item>
|
||||
<item>White</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="bg_values">
|
||||
<item>#00000000</item>
|
||||
<item>#FF000000</item>
|
||||
<item>#FF1B1B1B</item>
|
||||
<item>#FFD6D6D6</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="color_options">
|
||||
<item>Light</item>
|
||||
<item>Dark</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="color_values">
|
||||
<item>#FFF3F3F3</item>
|
||||
<item>#FF0C0C0C</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="shortcut_options">
|
||||
<item>0</item>
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<item>5</item>
|
||||
<item>6</item>
|
||||
<item>7</item>
|
||||
<item>8</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<resources>
|
||||
<dimen name="fab_margin">16dp</dimen>
|
||||
</resources>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<item name="app_name_edit" type="id" />
|
||||
</resources>
|
||||
|
|
@ -3,17 +3,30 @@
|
|||
|
||||
<string name="empty"></string>
|
||||
|
||||
<string name="select_an_app">Select an app</string>
|
||||
<string name="search">Search…</string>
|
||||
<string name="app">App</string>
|
||||
<string name="shortcut_default">App</string>
|
||||
|
||||
<!-- Sync Preferences -->
|
||||
<string name="sync_title">Sync email periodically</string>
|
||||
<string name="attachment_title">Download incoming attachments</string>
|
||||
<string name="attachment_summary_on">Automatically download attachments for incoming emails
|
||||
</string>
|
||||
<string name="attachment_summary_off">Only download attachments when manually requested</string>
|
||||
<string name="select_an_app">Select an app</string>
|
||||
<string name="unhide_an_app">Unhide an app</string>
|
||||
<string name="find_your_city">Find your city</string>
|
||||
|
||||
<string name="search">Search…</string>
|
||||
|
||||
<string name="reset">Reset</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="uninstall">Uninstall</string>
|
||||
<string name="rename">Rename</string>
|
||||
<string name="hide">Hide</string>
|
||||
<string name="close">Close</string>
|
||||
|
||||
<string name="app_icon">App Icon</string>
|
||||
<string name="creditName">By Otto Petäjä</string>
|
||||
<string name="source_code">Source Code</string>
|
||||
<string name="codeberg">Codeberg</string>
|
||||
<string name="github">GitHub</string>
|
||||
<string name="donate">Donate</string>
|
||||
<string name="stripe">Stripe</string>
|
||||
<string name="liberapay">Liberapay</string>
|
||||
<string name="weather_data_credit">Weather data by Open-Meteo.com\n(CC BY 4.0)</string>
|
||||
|
||||
<string name="my_website_link"><![CDATA[by <a href="https://ottop.eu">Otto Petäjä</a>]]></string>
|
||||
|
||||
|
|
@ -25,7 +38,9 @@
|
|||
|
||||
<string name="weather_link"><![CDATA[Weather data by <a href="https://open-meteo.com/">Open-Meteo.com</a><br>(<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>)]]></string>
|
||||
<string name="location_link"><![CDATA[Location data by <a href="https://open-meteo.com/">Open-Meteo.com</a> (<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>)]]></string>
|
||||
<string name="accessibility_service_description">Idk this is my service</string>
|
||||
<string name="region_text">%1$s%2$s</string>
|
||||
|
||||
<string name="accessibility_service_description">The permission is required for double tap to work for locking the screen.\n\nIt is only needed if you want to use the double tap to lock screen feature in YAM Launcher.</string>
|
||||
|
||||
|
||||
</resources>
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<accessibility-service
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:description="@string/accessibility_service_description"
|
||||
android:accessibilityEventTypes="typeViewClicked"
|
||||
android:accessibilityFeedbackType="feedbackGeneric"
|
||||
android:notificationTimeout="100"
|
||||
android:canRetrieveWindowContent="true"
|
||||
android:description="@string/accessibility_service_description" />
|
||||
android:settingsActivity="eu.ottop.yamlauncher.SettingsActivity"/>
|
||||
Loading…
Add table
Add a link
Reference in a new issue