Merge "Update FontsContract.requestFonts" into oc-dev
This commit is contained in:
@@ -34488,7 +34488,7 @@ package android.provider {
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[], int, boolean, java.lang.String);
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[]);
|
||||
method public static android.provider.FontsContract.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal, android.graphics.fonts.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
|
||||
method public static void requestFont(android.content.Context, android.graphics.fonts.FontRequest, android.provider.FontsContract.FontRequestCallback, android.os.Handler);
|
||||
method public static void requestFonts(android.content.Context, android.graphics.fonts.FontRequest, android.os.Handler, android.os.CancellationSignal, android.provider.FontsContract.FontRequestCallback);
|
||||
}
|
||||
|
||||
public static final class FontsContract.Columns implements android.provider.BaseColumns {
|
||||
|
||||
@@ -37478,7 +37478,7 @@ package android.provider {
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[], int, boolean, java.lang.String);
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[]);
|
||||
method public static android.provider.FontsContract.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal, android.graphics.fonts.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
|
||||
method public static void requestFont(android.content.Context, android.graphics.fonts.FontRequest, android.provider.FontsContract.FontRequestCallback, android.os.Handler);
|
||||
method public static void requestFonts(android.content.Context, android.graphics.fonts.FontRequest, android.os.Handler, android.os.CancellationSignal, android.provider.FontsContract.FontRequestCallback);
|
||||
}
|
||||
|
||||
public static final class FontsContract.Columns implements android.provider.BaseColumns {
|
||||
|
||||
@@ -34624,7 +34624,7 @@ package android.provider {
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[], int, boolean, java.lang.String);
|
||||
method public static android.graphics.Typeface buildTypeface(android.content.Context, android.os.CancellationSignal, android.provider.FontsContract.FontInfo[]);
|
||||
method public static android.provider.FontsContract.FontFamilyResult fetchFonts(android.content.Context, android.os.CancellationSignal, android.graphics.fonts.FontRequest) throws android.content.pm.PackageManager.NameNotFoundException;
|
||||
method public static void requestFont(android.content.Context, android.graphics.fonts.FontRequest, android.provider.FontsContract.FontRequestCallback, android.os.Handler);
|
||||
method public static void requestFonts(android.content.Context, android.graphics.fonts.FontRequest, android.os.Handler, android.os.CancellationSignal, android.provider.FontsContract.FontRequestCallback);
|
||||
}
|
||||
|
||||
public static final class FontsContract.Columns implements android.provider.BaseColumns {
|
||||
|
||||
@@ -442,11 +442,15 @@ public class FontsContract {
|
||||
* @param context A context to be used for fetching from font provider.
|
||||
* @param request A {@link FontRequest} object that identifies the provider and query for the
|
||||
* request. May not be null.
|
||||
* @param callback A callback that will be triggered when results are obtained. May not be null.
|
||||
* @param handler A handler to be processed the font fetching.
|
||||
* @param cancellationSignal A signal to cancel the operation in progress, or null if none. If
|
||||
* the operation is canceled, then {@link
|
||||
* android.os.OperationCanceledException} will be thrown.
|
||||
* @param callback A callback that will be triggered when results are obtained. May not be null.
|
||||
*/
|
||||
public static void requestFont(@NonNull Context context, @NonNull FontRequest request,
|
||||
@NonNull FontRequestCallback callback, @NonNull Handler handler) {
|
||||
public static void requestFonts(@NonNull Context context, @NonNull FontRequest request,
|
||||
@NonNull Handler handler, @Nullable CancellationSignal cancellationSignal,
|
||||
@NonNull FontRequestCallback callback) {
|
||||
|
||||
final Handler callerThreadHandler = new Handler();
|
||||
final Typeface cachedTypeface = sTypefaceCache.get(request.getIdentifier());
|
||||
@@ -458,7 +462,7 @@ public class FontsContract {
|
||||
handler.post(() -> {
|
||||
FontFamilyResult result;
|
||||
try {
|
||||
result = fetchFonts(context, null /* cancellation signal */, request);
|
||||
result = fetchFonts(context, cancellationSignal, request);
|
||||
} catch (NameNotFoundException e) {
|
||||
callerThreadHandler.post(() -> callback.onTypefaceRequestFailed(
|
||||
FontRequestCallback.FAIL_REASON_PROVIDER_NOT_FOUND));
|
||||
@@ -513,7 +517,7 @@ public class FontsContract {
|
||||
}
|
||||
}
|
||||
|
||||
final Typeface typeface = buildTypeface(context, null /* cancellation signal */, fonts);
|
||||
final Typeface typeface = buildTypeface(context, cancellationSignal, fonts);
|
||||
if (typeface == null) {
|
||||
// Something went wrong during reading font files. This happens if the given font
|
||||
// file is an unsupported font type.
|
||||
|
||||
@@ -120,7 +120,7 @@ public class FontsContractE2ETest {
|
||||
inst.runOnMainSync(() -> {
|
||||
FontRequest request = new FontRequest(
|
||||
AUTHORITY, PACKAGE, "singleFontFamily", SIGNATURE);
|
||||
FontsContract.requestFont(ctx, request, callback, new Handler());
|
||||
FontsContract.requestFonts(ctx, request, new Handler(), null, callback);
|
||||
});
|
||||
inst.waitForIdleSync();
|
||||
assertEquals(1, callback.getSuccessCallCount());
|
||||
@@ -131,7 +131,7 @@ public class FontsContractE2ETest {
|
||||
inst.runOnMainSync(() -> {
|
||||
FontRequest request = new FontRequest(
|
||||
AUTHORITY, PACKAGE, "singleFontFamily", SIGNATURE);
|
||||
FontsContract.requestFont(ctx, request, callback2, new Handler());
|
||||
FontsContract.requestFonts(ctx, request, new Handler(), null, callback2);
|
||||
});
|
||||
inst.waitForIdleSync();
|
||||
assertEquals(1, callback2.getSuccessCallCount());
|
||||
@@ -142,7 +142,7 @@ public class FontsContractE2ETest {
|
||||
inst.runOnMainSync(() -> {
|
||||
FontRequest request = new FontRequest(
|
||||
AUTHORITY, PACKAGE, "singleFontFamily2", SIGNATURE);
|
||||
FontsContract.requestFont(ctx, request, callback3, new Handler());
|
||||
FontsContract.requestFonts(ctx, request, new Handler(), null, callback3);
|
||||
});
|
||||
inst.waitForIdleSync();
|
||||
assertEquals(1, callback3.getSuccessCallCount());
|
||||
|
||||
Reference in New Issue
Block a user