Android Extensions: Support non-latin identifiers (KT-20299)

This commit is contained in:
Yan Zhulanow
2017-09-18 18:05:49 +03:00
parent eefad896a0
commit 27d3ed76a0
4 changed files with 70 additions and 1 deletions
@@ -32,7 +32,8 @@ object AndroidConst {
val ID_ATTRIBUTE_NO_NAMESPACE: String = "id"
val CLASS_ATTRIBUTE_NO_NAMESPACE: String = "class"
val IDENTIFIER_REGEX = "^@(\\+)?(([A-Za-z0-9_\\.]+)\\:)?id\\/([A-Za-z0-9_]+)$".toRegex()
private val IDENTIFIER_WORD_REGEX = "[(?:\\p{L}\\p{M}*)0-9_\\.]+"
val IDENTIFIER_REGEX = "^@(\\+)?(($IDENTIFIER_WORD_REGEX)\\:)?id\\/($IDENTIFIER_WORD_REGEX)$".toRegex()
val CLEAR_FUNCTION_NAME = "clearFindViewByIdCache"
@@ -0,0 +1,24 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/sonuç"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter your password" />
<EditText
android:id="@+id/привет"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPassword" />
<Button
android:id="@+id/こんにちは"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sign in" />
</FrameLayout>
@@ -0,0 +1,38 @@
kotlinx
kotlinx.android
kotlinx.android.synthetic
public fun android.app.Activity.clearFindViewByIdCache(): kotlin.Unit
public fun android.app.Fragment.clearFindViewByIdCache(): kotlin.Unit
public fun android.view.View.clearFindViewByIdCache(): kotlin.Unit
public fun kotlinx.android.extensions.LayoutContainer.clearFindViewByIdCache(): kotlin.Unit
kotlinx.android.synthetic.main
kotlinx.android.synthetic.main.test
public val android.app.Activity.sonuç: android.widget.TextView!
public val android.app.Dialog.sonuç: android.widget.TextView!
public val android.app.Fragment.sonuç: android.widget.TextView!
public val kotlinx.android.extensions.LayoutContainer.sonuç: android.widget.TextView!
public val android.app.Activity.привет: android.widget.EditText!
public val android.app.Dialog.привет: android.widget.EditText!
public val android.app.Fragment.привет: android.widget.EditText!
public val kotlinx.android.extensions.LayoutContainer.привет: android.widget.EditText!
public val android.app.Activity.こんにちは: android.widget.Button!
public val android.app.Dialog.こんにちは: android.widget.Button!
public val android.app.Fragment.こんにちは: android.widget.Button!
public val kotlinx.android.extensions.LayoutContainer.こんにちは: android.widget.Button!
kotlinx.android.synthetic.main.test.view
public val android.view.View.sonuç: android.widget.TextView!
public val android.view.View.привет: android.widget.EditText!
public val android.view.View.こんにちは: android.widget.Button!