Rename native regex classes

Also, move @IntraCoreApi from NativeConverter to CharsetICU

Bug: 142690826
Test: m droid
Change-Id: Ib2d5588b1e59f64c0866426cf8c379f0c48d982c
diff --git a/android_icu4j/api/intra/current-api.txt b/android_icu4j/api/intra/current-api.txt
index 7984134..16bf832 100644
--- a/android_icu4j/api/intra/current-api.txt
+++ b/android_icu4j/api/intra/current-api.txt
@@ -183,7 +183,7 @@
 
 package com.android.icu.charset {
 
-  public final class NativeConverter {
+  public final class CharsetICU extends java.nio.charset.Charset {
     method public static java.nio.charset.Charset charsetForName(String);
     method public static String[] getAvailableCharsetNames();
   }
@@ -203,8 +203,8 @@
 
 package com.android.icu.util.regex {
 
-  public class NativeMatcher {
-    method public static com.android.icu.util.regex.NativeMatcher create(com.android.icu.util.regex.NativePattern);
+  public class MatcherNative {
+    method public static com.android.icu.util.regex.MatcherNative create(com.android.icu.util.regex.PatternNative);
     method public boolean find(int, int[]);
     method public boolean findNext(int[]);
     method public int getMatchedGroupIndex(String);
@@ -218,8 +218,8 @@
     method public void useTransparentBounds(boolean);
   }
 
-  public class NativePattern {
-    method public static com.android.icu.util.regex.NativePattern create(String, int);
+  public class PatternNative {
+    method public static com.android.icu.util.regex.PatternNative create(String, int);
   }
 
 }
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
index 5ca6dcf..980c286 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/CharsetICU.java
@@ -16,22 +16,38 @@
 /**
  * This class is used from native code associated with {@link NativeConverter}.
  */
-final class CharsetICU extends Charset {
+public final class CharsetICU extends Charset {
     private final String icuCanonicalName;
 
+    @libcore.api.IntraCoreApi
+    public static String[] getAvailableCharsetNames() {
+        return NativeConverter.getAvailableCharsetNames();
+    }
+
+    @libcore.api.IntraCoreApi
+    public static Charset charsetForName(String charsetName) {
+        return NativeConverter.charsetForName(charsetName);
+    }
+
+    /**
+     * Called by native codes.
+     */
     protected CharsetICU(String canonicalName, String icuCanonName, String[] aliases) {
          super(canonicalName, aliases);
          icuCanonicalName = icuCanonName;
     }
 
+    @Override
     public CharsetDecoder newDecoder() {
         return CharsetDecoderICU.newInstance(this, icuCanonicalName);
     }
 
+    @Override
     public CharsetEncoder newEncoder() {
         return CharsetEncoderICU.newInstance(this, icuCanonicalName);
     }
 
+    @Override
     public boolean contains(Charset cs) {
         if (cs == null) {
             return false;
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
index 39e38ff..ffbcb7d 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/charset/NativeConverter.java
@@ -45,12 +45,9 @@
 
     /* package */ static native boolean contains(String converterName1, String converterName2);
 
+    /* package */ static native String[] getAvailableCharsetNames();
 
-    @libcore.api.IntraCoreApi
-    public static native String[] getAvailableCharsetNames();
-
-    @libcore.api.IntraCoreApi
-    public static native Charset charsetForName(String charsetName);
+    /* package */ static native Charset charsetForName(String charsetName);
 
     // Translates from Java's enum to the magic numbers #defined in "NativeConverter.cpp".
     private static int translateCodingErrorAction(CodingErrorAction action) {
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
similarity index 91%
rename from android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java
rename to android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
index 20e562b..ac5c687 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativeMatcher.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/MatcherNative.java
@@ -18,21 +18,21 @@
 
 import libcore.util.NativeAllocationRegistry;
 
-public class NativeMatcher {
+public class MatcherNative {
 
     private static final NativeAllocationRegistry REGISTRY = NativeAllocationRegistry
-        .createMalloced(NativeMatcher.class.getClassLoader(), getNativeFinalizer());
+        .createMalloced(MatcherNative.class.getClassLoader(), getNativeFinalizer());
 
-    private final NativePattern nativePattern;
+    private final PatternNative nativePattern;
     @dalvik.annotation.optimization.ReachabilitySensitive
     private final long address;
 
     @libcore.api.IntraCoreApi
-    public static NativeMatcher create(NativePattern pattern) {
-        return new NativeMatcher(pattern);
+    public static MatcherNative create(PatternNative pattern) {
+        return new MatcherNative(pattern);
     }
 
-    private NativeMatcher(NativePattern pattern) {
+    private MatcherNative(PatternNative pattern) {
         nativePattern = pattern;
         address = pattern.openMatcher();
         REGISTRY.registerNativeAllocation(this, address);
diff --git a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
similarity index 88%
rename from android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java
rename to android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
index 8771918..f826bf9 100644
--- a/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/NativePattern.java
+++ b/android_icu4j/libcore_bridge/src/java/com/android/icu/util/regex/PatternNative.java
@@ -22,20 +22,20 @@
  * Provide an entry point to use ICU4C icu::RegexPattern.
  */
 @libcore.api.IntraCoreApi
-public class NativePattern {
+public class PatternNative {
 
     private static final NativeAllocationRegistry REGISTRY = NativeAllocationRegistry
-        .createMalloced(NativePattern.class.getClassLoader(), getNativeFinalizer());
+        .createMalloced(PatternNative.class.getClassLoader(), getNativeFinalizer());
 
     @dalvik.annotation.optimization.ReachabilitySensitive
     private final long address;
 
     @libcore.api.IntraCoreApi
-    public static NativePattern create(String pattern, int flags) {
-        return new NativePattern(pattern, flags);
+    public static PatternNative create(String pattern, int flags) {
+        return new PatternNative(pattern, flags);
     }
 
-    private NativePattern(String pattern, int flags) {
+    private PatternNative(String pattern, int flags) {
         address = compileImpl(pattern, flags);
         REGISTRY.registerNativeAllocation(this, address);
     }
diff --git a/android_icu4j/libcore_bridge/src/native/Register.cpp b/android_icu4j/libcore_bridge/src/native/Register.cpp
index 012d6ef..7d44f1c 100644
--- a/android_icu4j/libcore_bridge/src/native/Register.cpp
+++ b/android_icu4j/libcore_bridge/src/native/Register.cpp
@@ -35,8 +35,8 @@
 
 #define REGISTER(FN) extern void FN(JNIEnv*); FN(env)
     REGISTER(register_com_android_icu_util_Icu4cMetadata);
-    REGISTER(register_com_android_icu_util_regex_NativePattern);
-    REGISTER(register_com_android_icu_util_regex_NativeMatcher);
+    REGISTER(register_com_android_icu_util_regex_PatternNative);
+    REGISTER(register_com_android_icu_util_regex_MatcherNative);
     REGISTER(register_com_android_icu_util_charset_NativeConverter);
 #undef REGISTER
 
diff --git a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
similarity index 67%
rename from android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp
rename to android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
index 5a3882b..2d775ce 100644
--- a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativeMatcher.cpp
+++ b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_MatcherNative.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "NativeMatcher"
+#define LOG_TAG "MatcherNative"
 
 #include <memory>
 #include <stdlib.h>
@@ -37,16 +37,16 @@
     return reinterpret_cast<MatcherState*>(static_cast<uintptr_t>(address));
 }
 
-static void NativeMatcher_free(void* address) {
+static void MatcherNative_free(void* address) {
     MatcherState* state = reinterpret_cast<MatcherState*>(address);
     delete state;
 }
 
-static jlong NativeMatcher_getNativeFinalizer(JNIEnv*, jclass) {
-    return reinterpret_cast<jlong>(&NativeMatcher_free);
+static jlong MatcherNative_getNativeFinalizer(JNIEnv*, jclass) {
+    return reinterpret_cast<jlong>(&MatcherNative_free);
 }
 
-static jboolean NativeMatcher_findImpl(JNIEnv* env, jclass, jlong addr, jint startIndex, jintArray offsets) {
+static jboolean MatcherNative_findImpl(JNIEnv* env, jclass, jlong addr, jint startIndex, jintArray offsets) {
     MatcherState* state = toMatcherState(addr);
     UBool result = state->matcher()->find(startIndex, state->status());
     if (result) {
@@ -57,7 +57,7 @@
     }
 }
 
-static jboolean NativeMatcher_findNextImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_findNextImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
     MatcherState* state = toMatcherState(addr);
     UBool result = state->matcher()->find();
     if (result) {
@@ -68,12 +68,12 @@
     }
 }
 
-static jint NativeMatcher_groupCountImpl(JNIEnv*, jclass, jlong addr) {
+static jint MatcherNative_groupCountImpl(JNIEnv*, jclass, jlong addr) {
     MatcherState* state = toMatcherState(addr);
     return state->matcher()->groupCount();
 }
 
-static jboolean NativeMatcher_hitEndImpl(JNIEnv*, jclass, jlong addr) {
+static jboolean MatcherNative_hitEndImpl(JNIEnv*, jclass, jlong addr) {
     MatcherState* state = toMatcherState(addr);
     if (state->matcher()->hitEnd() != 0) {
         return JNI_TRUE;
@@ -82,7 +82,7 @@
     }
 }
 
-static jboolean NativeMatcher_lookingAtImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_lookingAtImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
     MatcherState* state = toMatcherState(addr);
     UBool result = state->matcher()->lookingAt(state->status());
     if (result) {
@@ -93,7 +93,7 @@
     }
 }
 
-static jboolean NativeMatcher_matchesImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
+static jboolean MatcherNative_matchesImpl(JNIEnv* env, jclass, jlong addr, jintArray offsets) {
     MatcherState* state = toMatcherState(addr);
     UBool result = state->matcher()->matches(state->status());
     if (result) {
@@ -104,7 +104,7 @@
     }
 }
 
-static jboolean NativeMatcher_requireEndImpl(JNIEnv*, jclass, jlong addr) {
+static jboolean MatcherNative_requireEndImpl(JNIEnv*, jclass, jlong addr) {
     MatcherState* state = toMatcherState(addr);
     if (state->matcher()->requireEnd() != 0) {
         return JNI_TRUE;
@@ -113,37 +113,37 @@
     }
 }
 
-static void NativeMatcher_setInputImpl(JNIEnv* env, jclass, jlong addr, jstring javaText, jint start, jint end) {
+static void MatcherNative_setInputImpl(JNIEnv* env, jclass, jlong addr, jstring javaText, jint start, jint end) {
     MatcherState* state = toMatcherState(addr);
     if (state->updateInput(env, javaText)) {
         state->matcher()->region(start, end, state->status());
     }
 }
 
-static void NativeMatcher_useAnchoringBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
+static void MatcherNative_useAnchoringBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
     MatcherState* state = toMatcherState(addr);
     state->matcher()->useAnchoringBounds(value);
 }
 
-static void NativeMatcher_useTransparentBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
+static void MatcherNative_useTransparentBoundsImpl(JNIEnv*, jclass, jlong addr, jboolean value) {
     MatcherState* state = toMatcherState(addr);
     state->matcher()->useTransparentBounds(value);
 }
 
 
 static JNINativeMethod gMethods[] = {
-    NATIVE_METHOD(NativeMatcher, findImpl, "(JI[I)Z"),
-    NATIVE_METHOD(NativeMatcher, findNextImpl, "(J[I)Z"),
-    NATIVE_METHOD(NativeMatcher, getNativeFinalizer, "()J"),
-    NATIVE_METHOD(NativeMatcher, groupCountImpl, "(J)I"),
-    NATIVE_METHOD(NativeMatcher, hitEndImpl, "(J)Z"),
-    NATIVE_METHOD(NativeMatcher, lookingAtImpl, "(J[I)Z"),
-    NATIVE_METHOD(NativeMatcher, matchesImpl, "(J[I)Z"),
-    NATIVE_METHOD(NativeMatcher, requireEndImpl, "(J)Z"),
-    NATIVE_METHOD(NativeMatcher, setInputImpl, "(JLjava/lang/String;II)V"),
-    NATIVE_METHOD(NativeMatcher, useAnchoringBoundsImpl, "(JZ)V"),
-    NATIVE_METHOD(NativeMatcher, useTransparentBoundsImpl, "(JZ)V"),
+    NATIVE_METHOD(MatcherNative, findImpl, "(JI[I)Z"),
+    NATIVE_METHOD(MatcherNative, findNextImpl, "(J[I)Z"),
+    NATIVE_METHOD(MatcherNative, getNativeFinalizer, "()J"),
+    NATIVE_METHOD(MatcherNative, groupCountImpl, "(J)I"),
+    NATIVE_METHOD(MatcherNative, hitEndImpl, "(J)Z"),
+    NATIVE_METHOD(MatcherNative, lookingAtImpl, "(J[I)Z"),
+    NATIVE_METHOD(MatcherNative, matchesImpl, "(J[I)Z"),
+    NATIVE_METHOD(MatcherNative, requireEndImpl, "(J)Z"),
+    NATIVE_METHOD(MatcherNative, setInputImpl, "(JLjava/lang/String;II)V"),
+    NATIVE_METHOD(MatcherNative, useAnchoringBoundsImpl, "(JZ)V"),
+    NATIVE_METHOD(MatcherNative, useTransparentBoundsImpl, "(JZ)V"),
 };
-void register_com_android_icu_util_regex_NativeMatcher(JNIEnv* env) {
-    jniRegisterNativeMethods(env, "com/android/icu/util/regex/NativeMatcher", gMethods, NELEM(gMethods));
+void register_com_android_icu_util_regex_MatcherNative(JNIEnv* env) {
+    jniRegisterNativeMethods(env, "com/android/icu/util/regex/MatcherNative", gMethods, NELEM(gMethods));
 }
diff --git a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
similarity index 86%
rename from android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp
rename to android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
index 5833d75..e1cb0f6 100644
--- a/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_NativePattern.cpp
+++ b/android_icu4j/libcore_bridge/src/native/com_android_icu_util_regex_PatternNative.cpp
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "NativePattern"
+#define LOG_TAG "PatternNative"
 
 #include <stdlib.h>
 
@@ -71,15 +71,15 @@
     env->Throw(reinterpret_cast<jthrowable>(exception));
 }
 
-static void NativePattern_free(void* addr) {
+static void PatternNative_free(void* addr) {
     delete reinterpret_cast<icu::RegexPattern*>(addr);
 }
 
-static jlong NativePattern_getNativeFinalizer(JNIEnv*, jclass) {
-    return reinterpret_cast<jlong>(&NativePattern_free);
+static jlong PatternNative_getNativeFinalizer(JNIEnv*, jclass) {
+    return reinterpret_cast<jlong>(&PatternNative_free);
 }
 
-static jlong NativePattern_compileImpl(JNIEnv* env, jclass, jstring javaRegex, jint flags) {
+static jlong PatternNative_compileImpl(JNIEnv* env, jclass, jstring javaRegex, jint flags) {
     flags |= UREGEX_ERROR_ON_UNKNOWN_ESCAPES;
 
     UErrorCode status = U_ZERO_ERROR;
@@ -98,7 +98,7 @@
     return static_cast<jlong>(reinterpret_cast<uintptr_t>(result));
 }
 
-static jlong NativePattern_openMatcherImpl(JNIEnv* env, jclass, jlong addr) {
+static jlong PatternNative_openMatcherImpl(JNIEnv* env, jclass, jlong addr) {
     icu::RegexPattern* pattern = reinterpret_cast<icu::RegexPattern*>(static_cast<uintptr_t>(addr));
     UErrorCode status = U_ZERO_ERROR;
     icu::RegexMatcher* result = pattern->matcher(status);
@@ -109,7 +109,7 @@
     return reinterpret_cast<uintptr_t>(new MatcherState(result));
 }
 
-static jint NativePattern_getMatchedGroupIndexImpl(JNIEnv* env, jclass, jlong addr, jstring javaGroupName) {
+static jint PatternNative_getMatchedGroupIndexImpl(JNIEnv* env, jclass, jlong addr, jstring javaGroupName) {
   icu::RegexPattern* pattern = reinterpret_cast<icu::RegexPattern*>(static_cast<uintptr_t>(addr));
   ScopedJavaUnicodeString groupName(env, javaGroupName);
   UErrorCode status = U_ZERO_ERROR;
@@ -127,12 +127,12 @@
 
 
 static JNINativeMethod gMethods[] = {
-    NATIVE_METHOD(NativePattern, compileImpl, "(Ljava/lang/String;I)J"),
-    NATIVE_METHOD(NativePattern, getNativeFinalizer, "()J"),
-    NATIVE_METHOD(NativePattern, openMatcherImpl, "(J)J"),
-    NATIVE_METHOD(NativePattern, getMatchedGroupIndexImpl, "(JLjava/lang/String;)I"),
+    NATIVE_METHOD(PatternNative, compileImpl, "(Ljava/lang/String;I)J"),
+    NATIVE_METHOD(PatternNative, getNativeFinalizer, "()J"),
+    NATIVE_METHOD(PatternNative, openMatcherImpl, "(J)J"),
+    NATIVE_METHOD(PatternNative, getMatchedGroupIndexImpl, "(JLjava/lang/String;)I"),
 };
 
-void register_com_android_icu_util_regex_NativePattern(JNIEnv* env) {
-    jniRegisterNativeMethods(env, "com/android/icu/util/regex/NativePattern", gMethods, NELEM(gMethods));
+void register_com_android_icu_util_regex_PatternNative(JNIEnv* env) {
+    jniRegisterNativeMethods(env, "com/android/icu/util/regex/PatternNative", gMethods, NELEM(gMethods));
 }