Merge "Update FontsContract.requestFonts" into oc-dev

This commit is contained in:
Seigo Nonaka
2017-04-26 17:48:35 +00:00
committed by Android (Google) Code Review
5 changed files with 15 additions and 11 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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.

View File

@@ -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());