Migrate to emoji2
This commit is contained in:
@@ -75,7 +75,7 @@ dependencies {
|
|||||||
implementation("androidx.appcompat:appcompat:1.4.0-rc01") // https://issuetracker.google.com/issues/151603528
|
implementation("androidx.appcompat:appcompat:1.4.0-rc01") // https://issuetracker.google.com/issues/151603528
|
||||||
implementation("androidx.browser:browser:1.4.0-rc01")
|
implementation("androidx.browser:browser:1.4.0-rc01")
|
||||||
implementation("androidx.core:core-ktx:1.7.0")
|
implementation("androidx.core:core-ktx:1.7.0")
|
||||||
implementation("androidx.emoji:emoji:1.1.0")
|
implementation("androidx.emoji2:emoji2:1.0.0-rc01")
|
||||||
implementation("androidx.fragment:fragment-ktx:1.3.6")
|
implementation("androidx.fragment:fragment-ktx:1.3.6")
|
||||||
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion")
|
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion")
|
||||||
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
|
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion")
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ import androidx.browser.customtabs.CustomTabsIntent
|
|||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
import androidx.core.provider.FontRequest
|
import androidx.core.provider.FontRequest
|
||||||
import androidx.emoji.text.EmojiCompat
|
import androidx.emoji2.text.EmojiCompat
|
||||||
import androidx.emoji.text.FontRequestEmojiCompatConfig
|
import androidx.emoji2.text.FontRequestEmojiCompatConfig
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
import be.mygod.librootkotlinx.NoShellException
|
import be.mygod.librootkotlinx.NoShellException
|
||||||
import be.mygod.vpnhotspot.net.DhcpWorkaround
|
import be.mygod.vpnhotspot.net.DhcpWorkaround
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class BootReceiver : BroadcastReceiver() {
|
|||||||
started = true
|
started = true
|
||||||
}
|
}
|
||||||
fun startIfEnabled() {
|
fun startIfEnabled() {
|
||||||
if (started && userEnabled) startIfNecessary()
|
if (!started && userEnabled) startIfNecessary()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ open class Client(val mac: MacAddressCompat, val iface: String) {
|
|||||||
SpannableStringBuilder(if (record.nickname.isEmpty()) {
|
SpannableStringBuilder(if (record.nickname.isEmpty()) {
|
||||||
if (record.macLookupPending) MacLookup.perform(mac)
|
if (record.macLookupPending) MacLookup.perform(mac)
|
||||||
macIface
|
macIface
|
||||||
} else emojize(record.nickname)).apply {
|
} else record.nickname).apply {
|
||||||
if (record.blocked) setSpan(StrikethroughSpan(), 0, length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
|
if (record.blocked) setSpan(StrikethroughSpan(), 0, length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import androidx.appcompat.app.AlertDialog
|
|||||||
import androidx.appcompat.widget.PopupMenu
|
import androidx.appcompat.widget.PopupMenu
|
||||||
import androidx.collection.LongSparseArray
|
import androidx.collection.LongSparseArray
|
||||||
import androidx.databinding.BaseObservable
|
import androidx.databinding.BaseObservable
|
||||||
|
import androidx.emoji2.text.EmojiCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.activityViewModels
|
import androidx.fragment.app.activityViewModels
|
||||||
import androidx.lifecycle.findViewTreeLifecycleOwner
|
import androidx.lifecycle.findViewTreeLifecycleOwner
|
||||||
@@ -55,7 +56,7 @@ class ClientsFragment : Fragment() {
|
|||||||
setTitle(getString(R.string.clients_nickname_title, MacAddressCompat(arg.mac).toString()))
|
setTitle(getString(R.string.clients_nickname_title, MacAddressCompat(arg.mac).toString()))
|
||||||
setPositiveButton(android.R.string.ok, listener)
|
setPositiveButton(android.R.string.ok, listener)
|
||||||
setNegativeButton(android.R.string.cancel, null)
|
setNegativeButton(android.R.string.cancel, null)
|
||||||
setNeutralButton(emojize(getText(R.string.clients_nickname_set_to_vendor)), listener)
|
setNeutralButton(EmojiCompat.get().process(getText(R.string.clients_nickname_set_to_vendor)), listener)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?) = super.onCreateDialog(savedInstanceState).apply {
|
override fun onCreateDialog(savedInstanceState: Bundle?) = super.onCreateDialog(savedInstanceState).apply {
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
package be.mygod.vpnhotspot.client
|
|
||||||
|
|
||||||
import androidx.emoji.text.EmojiCompat
|
|
||||||
|
|
||||||
fun emojize(text: CharSequence?): CharSequence? = if (text == null) null else try {
|
|
||||||
EmojiCompat.get().process(text)
|
|
||||||
} catch (_: IllegalStateException) {
|
|
||||||
text
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
tools:viewBindingIgnore="true">
|
tools:viewBindingIgnore="true">
|
||||||
<androidx.emoji.widget.EmojiEditText
|
<EditText
|
||||||
android:id="@android:id/edit"
|
android:id="@android:id/edit"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -14,5 +14,5 @@
|
|||||||
android:importantForAutofill="no"
|
android:importantForAutofill="no"
|
||||||
tools:text="Nick">
|
tools:text="Nick">
|
||||||
<requestFocus/>
|
<requestFocus/>
|
||||||
</androidx.emoji.widget.EmojiEditText>
|
</EditText>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|||||||
Reference in New Issue
Block a user