Example usage for android.support.v4.provider FontRequest FontRequest

List of usage examples for android.support.v4.provider FontRequest FontRequest

Introduction

In this page you can find the example usage for android.support.v4.provider FontRequest FontRequest.

Prototype

public FontRequest(@NonNull String providerAuthority, @NonNull String providerPackage, @NonNull String query,
        @ArrayRes int certificates) 

Source Link

Usage

From source file:com.example.android.emojicompat.EmojiCompatApplication.java

@SuppressWarnings("ConstantConditions")
@Override/*from w  w w  .  j  a va2  s.c om*/
public void onCreate() {
    super.onCreate();

    final EmojiCompat.Config config;
    if (USE_BUNDLED_EMOJI == 0) {
        // Use the bundled font for EmojiCompat
        config = new BundledEmojiCompatConfig(getApplicationContext());
        EmojiCompat.init(config);
    } else if (USE_BUNDLED_EMOJI == 1) {
        // Use a downloadable font for EmojiCompat
        final FontRequest fontRequest = new FontRequest("com.google.android.gms.fonts",
                "com.google.android.gms", "Noto Color Emoji Compat",
                R.array.com_google_android_gms_fonts_certs);
        config = new FontRequestEmojiCompatConfig(getApplicationContext(), fontRequest).setReplaceAll(true)
                .registerInitCallback(new EmojiCompat.InitCallback() {
                    @Override
                    public void onInitialized() {
                        Log.i(TAG, "EmojiCompat initialized");
                    }

                    @Override
                    public void onFailed(@Nullable Throwable throwable) {
                        Log.e(TAG, "EmojiCompat initialization failed", throwable);
                    }
                });
        EmojiCompat.init(config);
    }
}

From source file:com.example.android.emojicompat.MainActivity.java

private void initEmojiCompat() {
    final EmojiCompat.Config config;
    if (USE_BUNDLED_EMOJI) {
        // Use the bundled font for EmojiCompat
        config = new BundledEmojiCompatConfig(getApplicationContext());
    } else {//  ww  w . ja  v a 2 s . com
        // Use a downloadable font for EmojiCompat
        final FontRequest fontRequest = new FontRequest("com.google.android.gms.fonts",
                "com.google.android.gms", "Noto Color Emoji Compat",
                R.array.com_google_android_gms_fonts_certs);
        config = new FontRequestEmojiCompatConfig(getApplicationContext(), fontRequest);
    }

    config.setReplaceAll(true).registerInitCallback(new EmojiCompat.InitCallback() {
        @Override
        public void onInitialized() {
            Log.i(TAG, "EmojiCompat initialized");
        }

        @Override
        public void onFailed(@Nullable Throwable throwable) {
            Log.e(TAG, "EmojiCompat initialization failed", throwable);
        }
    });

    EmojiCompat.init(config);
}

From source file:com.example.android.support.text.emoji.Config.java

private void resetEmojiCompat() {
    final EmojiCompat.Config config;
    if (mCompatEnabled) {
        if (mDownloadable) {
            final FontRequest fontRequest = new FontRequest(mContext.getString(R.string.provider_authority),
                    mContext.getString(R.string.provider_package), mContext.getString(R.string.font_query),
                    R.array.com_google_android_gms_fonts_certs);

            config = new FontRequestEmojiCompatConfig(mContext, fontRequest);
        } else {//from   w w  w  .  j a v a  2s.co  m
            config = new BundledEmojiCompatConfig(mContext);
        }
    } else {
        config = new EmojiCompat.Config(new EmojiCompat.MetadataRepoLoader() {
            @Override
            public void load(@NonNull EmojiCompat.MetadataRepoLoaderCallback loaderCallback) {
                loaderCallback.onFailed(new RuntimeException("Disable"));
            }
        }) {
        };
    }

    config.setReplaceAll(mReplaceAll).setEmojiSpanIndicatorEnabled(mIndicator)
            .registerInitCallback(new EmojiCompat.InitCallback() {
                @Override
                public void onInitialized() {
                    Log.i(TAG, "EmojiCompat initialized");
                }

                @Override
                public void onFailed(@Nullable Throwable throwable) {
                    Log.e(TAG, "EmojiCompat initialization failed", throwable);
                }
            });

    EmojiCompat.reset(config);
}

From source file:com.example.android.downloadablefonts.MainActivity.java

private void requestDownload(String familyName) {
    QueryBuilder queryBuilder = new QueryBuilder(familyName)
            .withWidth(progressToWidth(mWidthSeekBar.getProgress()))
            .withWeight(progressToWeight(mWeightSeekBar.getProgress()))
            .withItalic(progressToItalic(mItalicSeekBar.getProgress())).withBestEffort(mBestEffort.isChecked());
    String query = queryBuilder.build();

    Log.d(TAG, "Requesting a font. Query: " + query);
    FontRequest request = new FontRequest("com.google.android.gms.fonts", "com.google.android.gms", query,
            R.array.com_google_android_gms_fonts_certs);

    final ProgressBar progressBar = findViewById(R.id.progressBar);
    progressBar.setVisibility(View.VISIBLE);

    FontsContractCompat.FontRequestCallback callback = new FontsContractCompat.FontRequestCallback() {
        @Override/*from  w  w  w .  j  a va  2 s  .  c o  m*/
        public void onTypefaceRetrieved(Typeface typeface) {
            mDownloadableFontTextView.setTypeface(typeface);
            progressBar.setVisibility(View.GONE);
            mRequestDownloadButton.setEnabled(true);
        }

        @Override
        public void onTypefaceRequestFailed(int reason) {
            Toast.makeText(MainActivity.this, getString(R.string.request_failed, reason), Toast.LENGTH_LONG)
                    .show();
            progressBar.setVisibility(View.GONE);
            mRequestDownloadButton.setEnabled(true);
        }
    };
    FontsContractCompat.requestFont(MainActivity.this, request, callback, getHandlerThreadHandler());
}