diff options
author | Takeshi Hagikura <thagikura@google.com> | 2017-05-17 15:19:06 +0900 |
---|---|---|
committer | Takeshi Hagikura <thagikura@google.com> | 2017-05-17 15:19:44 +0900 |
commit | 3e76d9904932c938044534115b14dcc09f6b9e42 (patch) | |
tree | 7cf98407fe6dc0aae7d3adbcaf33bd42705b48c4 /ui | |
parent | 44fce7014498507dfd0934056899e9b39413e41b (diff) | |
download | android-3e76d9904932c938044534115b14dcc09f6b9e42.tar.gz |
Add a kotlin module for DownloadableFonts sample
Test: Manual
Change-Id: I0e08cc3ede610b195f2e9ceec0bab3a56b99985c
Diffstat (limited to 'ui')
27 files changed, 1684 insertions, 2 deletions
diff --git a/ui/fonts/DownloadableFonts/build.gradle b/ui/fonts/DownloadableFonts/build.gradle index 5c0aed84..c6dfeeae 100644 --- a/ui/fonts/DownloadableFonts/build.gradle +++ b/ui/fonts/DownloadableFonts/build.gradle @@ -1,10 +1,12 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { + ext.kotlin_version = '1.1.2-3' repositories { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.4.0-dev' + classpath 'com.android.tools.build:gradle:2.4.0-alpha6' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/ui/fonts/DownloadableFonts/kotlinApp/build.gradle b/ui/fonts/DownloadableFonts/kotlinApp/build.gradle new file mode 100644 index 00000000..1d94fb0d --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/build.gradle @@ -0,0 +1,37 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +android { + compileSdkVersion 'android-O' + buildToolsVersion "26.0.0 rc2" + + defaultConfig { + applicationId "com.example.android.downloadablefonts" + // Once API level 26 SDK is launched, lower the minSdkVersion. + // At this moment, an app targeting the preview version of the SDK only runs on the + // preview device. + minSdkVersion 'O' + targetSdkVersion 'O' + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' + } + } + + dependencies { + compile 'com.android.support:appcompat-v7:26.0.0-beta1' + compile 'com.android.support:design:26.0.0-beta1' + compile 'com.android.support:cardview-v7:26.0.0-beta1' + } +} + +repositories { + mavenCentral() +} +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" +} + diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/AndroidManifest.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/AndroidManifest.xml new file mode 100644 index 00000000..68ed0a2f --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/AndroidManifest.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.example.android.downloadablefonts"> + + <application + android:label="@string/app_name" + android:icon="@mipmap/ic_launcher" + android:roundIcon="@mipmap/ic_launcher_round" + android:theme="@style/AppTheme" + android:allowBackup="true"> + + <meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts" /> + + <activity android:name="com.example.android.downloadablefonts.MainActivity"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + + </application> +</manifest> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/Constants.kt b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/Constants.kt new file mode 100644 index 00000000..9ff2e93c --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/Constants.kt @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.downloadablefonts + +/** + * Constants class + */ +internal object Constants { + + val WIDTH_DEFAULT = 100 + val WIDTH_MAX = 1000 + val WIDTH_MIN = 0 + + val WEIGHT_DEFAULT = 400 + val WEIGHT_MAX = 1000 + val WEIGHT_MIN = 0 + + val ITALIC_DEFAULT = 0f + val ITALIC_MAX = 1f + val ITALIC_MIN = 0f +} diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/MainActivity.kt b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/MainActivity.kt new file mode 100644 index 00000000..aaad24f9 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/MainActivity.kt @@ -0,0 +1,249 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.downloadablefonts + +import android.graphics.Typeface +import android.os.Bundle +import android.os.Handler +import android.os.HandlerThread +import android.support.design.widget.TextInputLayout +import android.support.v4.provider.FontRequest +import android.support.v4.provider.FontsContractCompat +import android.support.v4.util.ArraySet +import android.support.v7.app.AppCompatActivity +import android.text.Editable +import android.text.TextWatcher +import android.util.Log +import android.view.View +import android.widget.ArrayAdapter +import android.widget.AutoCompleteTextView +import android.widget.Button +import android.widget.CheckBox +import android.widget.ProgressBar +import android.widget.SeekBar +import android.widget.TextView +import android.widget.Toast + +import java.util.Arrays + +import com.example.android.downloadablefonts.Constants.ITALIC_DEFAULT +import com.example.android.downloadablefonts.Constants.WEIGHT_DEFAULT +import com.example.android.downloadablefonts.Constants.WEIGHT_MAX +import com.example.android.downloadablefonts.Constants.WIDTH_DEFAULT +import com.example.android.downloadablefonts.Constants.WIDTH_MAX + +class MainActivity : AppCompatActivity() { + + lateinit private var mHandler: Handler + + lateinit private var mDownloadableFontTextView: TextView + lateinit private var mWidthSeekBar: SeekBar + lateinit private var mWeightSeekBar: SeekBar + lateinit private var mItalicSeekBar: SeekBar + lateinit private var mBestEffort: CheckBox + lateinit private var mRequestDownloadButton: Button + + lateinit private var mFamilyNameSet: ArraySet<String> + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + + val handlerThread = HandlerThread("fonts") + handlerThread.start() + mHandler = Handler(handlerThread.looper) + initializeSeekBars() + mFamilyNameSet = ArraySet<String>() + mFamilyNameSet.addAll(Arrays.asList(*resources.getStringArray(R.array.family_names))) + + mDownloadableFontTextView = findViewById<TextView>(R.id.textview) + val adapter = ArrayAdapter(this, + android.R.layout.simple_dropdown_item_1line, + resources.getStringArray(R.array.family_names)) + val familyNameInput = findViewById<TextInputLayout>(R.id.auto_complete_family_name_input) + val autoCompleteFamilyName = findViewById<AutoCompleteTextView>(R.id.auto_complete_family_name) + autoCompleteFamilyName.setAdapter<ArrayAdapter<String>>(adapter) + autoCompleteFamilyName.addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged(charSequence: CharSequence, start: Int, count: Int, + after: Int) { + // No op + } + + override fun onTextChanged(charSequence: CharSequence, start: Int, count: Int, after: Int) { + if (isValidFamilyName(charSequence.toString())) { + familyNameInput.isErrorEnabled = false + familyNameInput.error = "" + } else { + familyNameInput.isErrorEnabled = true + familyNameInput.error = getString(R.string.invalid_family_name) + } + } + + override fun afterTextChanged(editable: Editable) { + // No op + } + }) + + mRequestDownloadButton = findViewById<Button>(R.id.button_request) + mRequestDownloadButton.setOnClickListener(View.OnClickListener { + val familyName = autoCompleteFamilyName.getText().toString() + if (!isValidFamilyName(familyName)) { + familyNameInput.isErrorEnabled = true + familyNameInput.error = getString(R.string.invalid_family_name) + Toast.makeText( + this@MainActivity, + R.string.invalid_input, + Toast.LENGTH_SHORT).show() + return@OnClickListener + } + requestDownload(familyName) + mRequestDownloadButton.isEnabled = false + }) + mBestEffort = findViewById<CheckBox>(R.id.checkbox_best_effort) + } + + private fun requestDownload(familyName: String) { + val queryBuilder = QueryBuilder(familyName, + width = progressToWidth(mWidthSeekBar.progress), + weight = progressToWeight(mWeightSeekBar.progress), + italic = progressToItalic(mItalicSeekBar.progress), + besteffort = mBestEffort.isChecked) + val query = queryBuilder.build() + + Log.d(TAG, "Requesting a font. Query: " + query) + val request = FontRequest( + "com.google.android.gms.fonts", + "com.google.android.gms", + query, + R.array.com_google_android_gms_fonts_certs) + + val progressBar = findViewById<ProgressBar>(R.id.progressBar) + progressBar.visibility = View.VISIBLE + + val callback = object : FontsContractCompat.FontRequestCallback() { + override fun onTypefaceRetrieved(typeface: Typeface) { + mDownloadableFontTextView.typeface = typeface + progressBar.visibility = View.GONE + mRequestDownloadButton.isEnabled = true + } + + override fun onTypefaceRequestFailed(reason: Int) { + Toast.makeText(this@MainActivity, + getString(R.string.request_failed, reason), Toast.LENGTH_LONG) + .show() + progressBar.visibility = View.GONE + mRequestDownloadButton.isEnabled = true + } + } + FontsContractCompat + .requestFont(this@MainActivity, request, callback, mHandler) + } + + private fun initializeSeekBars() { + mWidthSeekBar = findViewById<SeekBar>(R.id.seek_bar_width) + val widthValue = (100 * WIDTH_DEFAULT.toFloat() / WIDTH_MAX.toFloat()).toInt() + mWidthSeekBar.progress = widthValue + val widthTextView = findViewById<TextView>(R.id.textview_width) + widthTextView.text = widthValue.toString() + mWidthSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + widthTextView.text = progressToWidth(progress).toString() + } + + override fun onStartTrackingTouch(seekBar: SeekBar) {} + + override fun onStopTrackingTouch(seekBar: SeekBar) {} + }) + + mWeightSeekBar = findViewById(R.id.seek_bar_weight) + val weightValue = WEIGHT_DEFAULT.toFloat() / WEIGHT_MAX.toFloat() * 100 + mWeightSeekBar.progress = weightValue.toInt() + val weightTextView = findViewById<TextView>(R.id.textview_weight) + weightTextView.text = WEIGHT_DEFAULT.toString() + mWeightSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + weightTextView + .setText(progressToWeight(progress).toString()) + } + + override fun onStartTrackingTouch(seekBar: SeekBar) {} + + override fun onStopTrackingTouch(seekBar: SeekBar) {} + }) + + mItalicSeekBar = findViewById<SeekBar>(R.id.seek_bar_italic) + mItalicSeekBar.progress = ITALIC_DEFAULT.toInt() + val italicTextView = findViewById<TextView>(R.id.textview_italic) + italicTextView.text = ITALIC_DEFAULT.toString() + mItalicSeekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener { + override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) { + italicTextView + .setText(progressToItalic(progress).toString()) + } + + override fun onStartTrackingTouch(seekBar: SeekBar) {} + + override fun onStopTrackingTouch(seekBar: SeekBar) {} + }) + } + + private fun isValidFamilyName(familyName: String?): Boolean { + return familyName != null && mFamilyNameSet.contains(familyName) + } + + /** + * Converts progress from a SeekBar to the value of width. + * @param progress is passed from 0 to 100 inclusive + * * + * @return the converted width + */ + private fun progressToWidth(progress: Int): Float { + return (if (progress == 0) 1 else progress * WIDTH_MAX / 100).toFloat() + } + + /** + * Converts progress from a SeekBar to the value of weight. + * @param progress is passed from 0 to 100 inclusive + * * + * @return the converted weight + */ + private fun progressToWeight(progress: Int): Int { + if (progress == 0) { + return 1 // The range of the weight is between (0, 1000) (exclusive) + } else if (progress == 100) { + return WEIGHT_MAX - 1 // The range of the weight is between (0, 1000) (exclusive) + } else { + return WEIGHT_MAX * progress / 100 + } + } + + /** + * Converts progress from a SeekBar to the value of italic. + * @param progress is passed from 0 to 100 inclusive. + * * + * @return the converted italic + */ + private fun progressToItalic(progress: Int): Float { + return progress.toFloat() / 100f + } + + companion object { + + private val TAG = "MainActivity" + } +} + diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/QueryBuilder.kt b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/QueryBuilder.kt new file mode 100644 index 00000000..1f6f679a --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/kotlin/com/example/android/downloadablefonts/QueryBuilder.kt @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2017 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.example.android.downloadablefonts + +/** + * Builder class for constructing a query for downloading a font. + */ +internal class QueryBuilder(val familyName: String, + val width: Float? = null, + val weight: Int? = null, + val italic: Float? = null, + val besteffort: Boolean? = null) { + + fun build(): String { + if (weight == null && width == null && italic == null && besteffort == null) { + return familyName + } + val builder = StringBuilder() + builder.append("name=").append(familyName) + if (weight != null) { + builder.append("&weight=").append(weight) + } + if (width != null) { + builder.append("&width=").append(width) + } + if (italic != null) { + builder.append("&italic=").append(italic) + } + if (besteffort != null) { + builder.append("&besteffort=").append(besteffort) + } + return builder.toString() + } +} diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/font/lobster_two.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/font/lobster_two.xml new file mode 100644 index 00000000..28794824 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/font/lobster_two.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<font-family xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + app:fontProviderAuthority="com.google.android.gms.fonts" + app:fontProviderPackage="com.google.android.gms" + app:fontProviderQuery="Lobster Two" + app:fontProviderCerts="@array/com_google_android_gms_fonts_certs" + android:fontProviderAuthority="com.google.android.gms.fonts" + android:fontProviderPackage="com.google.android.gms" + android:fontProviderQuery="Lobster Two" + android:fontProviderCerts="@array/com_google_android_gms_fonts_certs" /> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/activity_main.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..e0ca1d51 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/activity_main.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/container" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <include layout="@layout/bottom_sheet_font_query" /> + + <LinearLayout + android:id="@+id/textview_area" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_medium" > + + <TextView + android:id="@+id/textview" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/downloadable_font_applied_text" + android:textSize="20sp" /> + </LinearLayout> + + <ProgressBar + android:id="@+id/progressBar" + style="?android:attr/progressBarStyle" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="top|center_horizontal" + android:visibility="gone" /> +</android.support.design.widget.CoordinatorLayout> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/bottom_sheet_font_query.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/bottom_sheet_font_query.xml new file mode 100644 index 00000000..c30193c9 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/layout/bottom_sheet_font_query.xml @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="utf-8"?><!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/bottom_sheet_font_query" + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:behavior_peekHeight="120dp" + app:layout_behavior="android.support.design.widget.BottomSheetBehavior" + app:cardElevation="8dp"> + + <android.support.v4.widget.NestedScrollView + android:id="@+id/nested_scrollview" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <LinearLayout + android:id="@+id/download_font_inputs_area" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="@dimen/margin_medium" + android:orientation="vertical"> + + <LinearLayout + android:id="@+id/family_name_input_area" + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/bottom_sheet_top_margin" + android:layout_marginStart="@dimen/margin_large" + android:layout_marginEnd="@dimen/margin_large" + android:layout_marginBottom="@dimen/margin_large"> + + <android.support.design.widget.TextInputLayout + android:id="@+id/auto_complete_family_name_input" + android:layout_width="240dp" + android:layout_height="wrap_content"> + + <AutoCompleteTextView + android:id="@+id/auto_complete_family_name" + android:completionThreshold="1" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:hint="@string/family_name" + android:singleLine="true" /> + </android.support.design.widget.TextInputLayout> + + <android.support.v4.widget.Space + android:layout_weight="1" + android:layout_width="0dp" + android:layout_height="wrap_content" /> + + <Button + android:id="@+id/button_request" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/request" /> + </LinearLayout> + + + <LinearLayout + android:id="@+id/width_input_area" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/margin_medium" + android:layout_marginBottom="@dimen/margin_medium" + android:layout_marginStart="@dimen/margin_large" + android:layout_marginEnd="@dimen/margin_large"> + + <TextView + android:id="@+id/width_seekbar_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_small" + android:text="@string/width" + android:textColor="@color/accent" + android:textSize="12sp" /> + + <LinearLayout + android:id="@+id/width_seekbar_area" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <SeekBar + android:id="@+id/seek_bar_width" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" /> + + <TextView + android:id="@+id/textview_width" + android:layout_height="wrap_content" + android:layout_width="80dp" + android:layout_marginStart="@dimen/margin_small" + android:textSize="16sp" + android:gravity="end" /> + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:id="@+id/weight_input_area" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/margin_medium" + android:layout_marginBottom="@dimen/margin_medium" + android:layout_marginStart="@dimen/margin_large" + android:layout_marginEnd="@dimen/margin_large"> + + <TextView + android:id="@+id/weight_seekbar_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_small" + android:text="@string/weight" + android:textColor="@color/accent" + android:textSize="12sp" /> + + <LinearLayout + android:id="@+id/weight_seekbar_area" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <SeekBar + android:id="@+id/seek_bar_weight" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" /> + + <TextView + android:id="@+id/textview_weight" + android:layout_height="wrap_content" + android:layout_width="80dp" + android:layout_marginStart="@dimen/margin_small" + android:textSize="16sp" + android:gravity="end" /> + </LinearLayout> + </LinearLayout> + + <LinearLayout + android:id="@+id/italic_input_area" + android:orientation="vertical" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/margin_medium" + android:layout_marginBottom="@dimen/margin_medium" + android:layout_marginStart="@dimen/margin_large" + android:layout_marginEnd="@dimen/margin_large"> + + <TextView + android:id="@+id/italic_seekbar_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_margin="@dimen/margin_small" + android:text="@string/italic" + android:textColor="@color/accent" + android:textSize="12sp" /> + + <LinearLayout + android:id="@+id/italic_seekbar_area" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal"> + + <SeekBar + android:id="@+id/seek_bar_italic" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" /> + + <TextView + android:id="@+id/textview_italic" + android:layout_height="wrap_content" + android:layout_width="80dp" + android:layout_marginStart="@dimen/margin_small" + android:textSize="16sp" + android:gravity="end" /> + </LinearLayout> + </LinearLayout> + + <CheckBox + android:id="@+id/checkbox_best_effort" + android:text="@string/best_effort" + android:checked="true" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/margin_medium" + android:layout_marginBottom="@dimen/margin_medium" + android:layout_marginStart="@dimen/margin_large" + android:layout_marginEnd="@dimen/margin_large" /> + </LinearLayout> + </android.support.v4.widget.NestedScrollView> +</android.support.v7.widget.CardView> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher.png Binary files differnew file mode 100755 index 00000000..cb86b974 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher_round.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 00000000..7502f5d6 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-hdpi/ic_launcher_round.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher.png Binary files differnew file mode 100755 index 00000000..bfeec7a3 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher_round.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 00000000..13ca6d75 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-mdpi/ic_launcher_round.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher.png Binary files differnew file mode 100755 index 00000000..358442e0 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 00000000..ff93f4d1 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xhdpi/ic_launcher_round.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary files differnew file mode 100755 index 00000000..c99a1a00 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 00000000..8b642db8 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxhdpi/ic_launcher_round.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary files differnew file mode 100755 index 00000000..3bcda818 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png Binary files differnew file mode 100644 index 00000000..a49362e3 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/colors.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/colors.xml new file mode 100644 index 00000000..4f03db6e --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/colors.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <color name="primary">#3F51B5</color> + <color name="primary_dark">#303F9F</color> + <color name="accent">#FF4081</color> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/dimens.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/dimens.xml new file mode 100644 index 00000000..7d51aa89 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/dimens.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <!-- Default screen margins, per the Android Design guidelines. --> + <dimen name="activity_horizontal_margin">4dp</dimen> + <dimen name="activity_vertical_margin">4dp</dimen> + <dimen name="margin_small">8dp</dimen> + <dimen name="margin_medium">16dp</dimen> + <dimen name="margin_large">32dp</dimen> + + <dimen name="bottom_sheet_top_margin">48dp</dimen> + <dimen name="bottom_sheet_initial_height">96dp</dimen> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/family_names.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/family_names.xml new file mode 100644 index 00000000..9aa96d01 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/family_names.xml @@ -0,0 +1,838 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <string-array name="family_names"> + <item>ABeeZee</item> + <item>Abel</item> + <item>Abhaya Libre</item> + <item>Abril Fatface</item> + <item>Aclonica</item> + <item>Acme</item> + <item>Actor</item> + <item>Adamina</item> + <item>Advent Pro</item> + <item>Aguafina Script</item> + <item>Akronim</item> + <item>Aladin</item> + <item>Aldrich</item> + <item>Alef</item> + <item>Alegreya</item> + <item>Alegreya SC</item> + <item>Alegreya Sans</item> + <item>Alegreya Sans SC</item> + <item>Alex Brush</item> + <item>Alfa Slab One</item> + <item>Alice</item> + <item>Alike</item> + <item>Alike Angular</item> + <item>Allan</item> + <item>Allerta</item> + <item>Allerta Stencil</item> + <item>Allura</item> + <item>Almendra</item> + <item>Almendra Display</item> + <item>Almendra SC</item> + <item>Amarante</item> + <item>Amaranth</item> + <item>Amatic SC</item> + <item>Amatica SC</item> + <item>Amethysta</item> + <item>Amiko</item> + <item>Amiri</item> + <item>Amita</item> + <item>Anaheim</item> + <item>Andada</item> + <item>Andika</item> + <item>Angkor</item> + <item>Annie Use Your Telescope</item> + <item>Anonymous Pro</item> + <item>Antic</item> + <item>Antic Didone</item> + <item>Antic Slab</item> + <item>Anton</item> + <item>Arapey</item> + <item>Arbutus</item> + <item>Arbutus Slab</item> + <item>Architects Daughter</item> + <item>Archivo Black</item> + <item>Archivo Narrow</item> + <item>Aref Ruqaa</item> + <item>Arima Madurai</item> + <item>Arimo</item> + <item>Arizonia</item> + <item>Armata</item> + <item>Arsenal</item> + <item>Artifika</item> + <item>Arvo</item> + <item>Arya</item> + <item>Asap</item> + <item>Asar</item> + <item>Asset</item> + <item>Assistant</item> + <item>Astloch</item> + <item>Asul</item> + <item>Athiti</item> + <item>Atma</item> + <item>Atomic Age</item> + <item>Aubrey</item> + <item>Audiowide</item> + <item>Autour One</item> + <item>Average</item> + <item>Average Sans</item> + <item>Averia Gruesa Libre</item> + <item>Averia Libre</item> + <item>Averia Sans Libre</item> + <item>Averia Serif Libre</item> + <item>Bad Script</item> + <item>Bahiana</item> + <item>Baloo</item> + <item>Baloo Bhai</item> + <item>Baloo Bhaina</item> + <item>Baloo Chettan</item> + <item>Baloo Da</item> + <item>Baloo Paaji</item> + <item>Baloo Tamma</item> + <item>Baloo Thambi</item> + <item>Balthazar</item> + <item>Bangers</item> + <item>Barrio</item> + <item>Basic</item> + <item>Battambang</item> + <item>Baumans</item> + <item>Bayon</item> + <item>Belgrano</item> + <item>Belleza</item> + <item>BenchNine</item> + <item>Bentham</item> + <item>Berkshire Swash</item> + <item>Bevan</item> + <item>Bigelow Rules</item> + <item>Bigshot One</item> + <item>Bilbo</item> + <item>Bilbo Swash Caps</item> + <item>BioRhyme</item> + <item>BioRhyme Expanded</item> + <item>Biryani</item> + <item>Bitter</item> + <item>Black Ops One</item> + <item>Bokor</item> + <item>Bonbon</item> + <item>Boogaloo</item> + <item>Bowlby One</item> + <item>Bowlby One SC</item> + <item>Brawler</item> + <item>Bree Serif</item> + <item>Bubblegum Sans</item> + <item>Bubbler One</item> + <item>Buda</item> + <item>Buenard</item> + <item>Bungee</item> + <item>Bungee Hairline</item> + <item>Bungee Inline</item> + <item>Bungee Outline</item> + <item>Bungee Shade</item> + <item>Butcherman</item> + <item>Butterfly Kids</item> + <item>Cabin</item> + <item>Cabin Condensed</item> + <item>Cabin Sketch</item> + <item>Caesar Dressing</item> + <item>Cagliostro</item> + <item>Cairo</item> + <item>Calligraffitti</item> + <item>Cambay</item> + <item>Cambo</item> + <item>Candal</item> + <item>Cantarell</item> + <item>Cantata One</item> + <item>Cantora One</item> + <item>Capriola</item> + <item>Cardo</item> + <item>Carme</item> + <item>Carrois Gothic</item> + <item>Carrois Gothic SC</item> + <item>Carter One</item> + <item>Catamaran</item> + <item>Caudex</item> + <item>Caveat</item> + <item>Caveat Brush</item> + <item>Cedarville Cursive</item> + <item>Ceviche One</item> + <item>Changa</item> + <item>Changa One</item> + <item>Chango</item> + <item>Chathura</item> + <item>Chau Philomene One</item> + <item>Chela One</item> + <item>Chelsea Market</item> + <item>Chenla</item> + <item>Cherry Cream Soda</item> + <item>Cherry Swash</item> + <item>Chewy</item> + <item>Chicle</item> + <item>Chivo</item> + <item>Chonburi</item> + <item>Cinzel</item> + <item>Cinzel Decorative</item> + <item>Clicker Script</item> + <item>Coda</item> + <item>Coda Caption</item> + <item>Codystar</item> + <item>Coiny</item> + <item>Combo</item> + <item>Comfortaa</item> + <item>Coming Soon</item> + <item>Concert One</item> + <item>Condiment</item> + <item>Content</item> + <item>Contrail One</item> + <item>Convergence</item> + <item>Cookie</item> + <item>Copse</item> + <item>Corben</item> + <item>Cormorant</item> + <item>Cormorant Garamond</item> + <item>Cormorant Infant</item> + <item>Cormorant SC</item> + <item>Cormorant Unicase</item> + <item>Cormorant Upright</item> + <item>Courgette</item> + <item>Cousine</item> + <item>Coustard</item> + <item>Covered By Your Grace</item> + <item>Crafty Girls</item> + <item>Creepster</item> + <item>Crete Round</item> + <item>Crimson Text</item> + <item>Croissant One</item> + <item>Crushed</item> + <item>Cuprum</item> + <item>Cutive</item> + <item>Cutive Mono</item> + <item>Damion</item> + <item>Dancing Script</item> + <item>Dangrek</item> + <item>David Libre</item> + <item>Dawning of a New Day</item> + <item>Days One</item> + <item>Dekko</item> + <item>Delius</item> + <item>Delius Swash Caps</item> + <item>Delius Unicase</item> + <item>Della Respira</item> + <item>Denk One</item> + <item>Devonshire</item> + <item>Dhurjati</item> + <item>Didact Gothic</item> + <item>Diplomata</item> + <item>Diplomata SC</item> + <item>Domine</item> + <item>Donegal One</item> + <item>Doppio One</item> + <item>Dorsa</item> + <item>Dosis</item> + <item>Dr Sugiyama</item> + <item>Droid Sans</item> + <item>Droid Sans Mono</item> + <item>Droid Serif</item> + <item>Duru Sans</item> + <item>Dynalight</item> + <item>EB Garamond</item> + <item>Eagle Lake</item> + <item>Eater</item> + <item>Economica</item> + <item>Eczar</item> + <item>Ek Mukta</item> + <item>El Messiri</item> + <item>Electrolize</item> + <item>Elsie</item> + <item>Elsie Swash Caps</item> + <item>Emblema One</item> + <item>Emilys Candy</item> + <item>Engagement</item> + <item>Englebert</item> + <item>Enriqueta</item> + <item>Erica One</item> + <item>Esteban</item> + <item>Euphoria Script</item> + <item>Ewert</item> + <item>Exo</item> + <item>Exo 2</item> + <item>Expletus Sans</item> + <item>Fanwood Text</item> + <item>Farsan</item> + <item>Fascinate</item> + <item>Fascinate Inline</item> + <item>Faster One</item> + <item>Fasthand</item> + <item>Fauna One</item> + <item>Federant</item> + <item>Federo</item> + <item>Felipa</item> + <item>Fenix</item> + <item>Finger Paint</item> + <item>Fira Mono</item> + <item>Fira Sans</item> + <item>Fira Sans Condensed</item> + <item>Fira Sans Extra Condensed</item> + <item>Fjalla One</item> + <item>Fjord One</item> + <item>Flamenco</item> + <item>Flavors</item> + <item>Fondamento</item> + <item>Fontdiner Swanky</item> + <item>Forum</item> + <item>Francois One</item> + <item>Frank Ruhl Libre</item> + <item>Freckle Face</item> + <item>Fredericka the Great</item> + <item>Fredoka One</item> + <item>Freehand</item> + <item>Fresca</item> + <item>Frijole</item> + <item>Fruktur</item> + <item>Fugaz One</item> + <item>GFS Didot</item> + <item>GFS Neohellenic</item> + <item>Gabriela</item> + <item>Gafata</item> + <item>Galada</item> + <item>Galdeano</item> + <item>Galindo</item> + <item>Gentium Basic</item> + <item>Gentium Book Basic</item> + <item>Geo</item> + <item>Geostar</item> + <item>Geostar Fill</item> + <item>Germania One</item> + <item>Gidugu</item> + <item>Gilda Display</item> + <item>Give You Glory</item> + <item>Glass Antiqua</item> + <item>Glegoo</item> + <item>Gloria Hallelujah</item> + <item>Goblin One</item> + <item>Gochi Hand</item> + <item>Gorditas</item> + <item>Goudy Bookletter 1911</item> + <item>Graduate</item> + <item>Grand Hotel</item> + <item>Gravitas One</item> + <item>Great Vibes</item> + <item>Griffy</item> + <item>Gruppo</item> + <item>Gudea</item> + <item>Gurajada</item> + <item>Habibi</item> + <item>Halant</item> + <item>Hammersmith One</item> + <item>Hanalei</item> + <item>Hanalei Fill</item> + <item>Handlee</item> + <item>Hanuman</item> + <item>Happy Monkey</item> + <item>Harmattan</item> + <item>Headland One</item> + <item>Heebo</item> + <item>Henny Penny</item> + <item>Herr Von Muellerhoff</item> + <item>Hind</item> + <item>Hind Guntur</item> + <item>Hind Madurai</item> + <item>Hind Siliguri</item> + <item>Hind Vadodara</item> + <item>Holtwood One SC</item> + <item>Homemade Apple</item> + <item>Homenaje</item> + <item>IM Fell DW Pica</item> + <item>IM Fell DW Pica SC</item> + <item>IM Fell Double Pica</item> + <item>IM Fell Double Pica SC</item> + <item>IM Fell English</item> + <item>IM Fell English SC</item> + <item>IM Fell French Canon</item> + <item>IM Fell French Canon SC</item> + <item>IM Fell Great Primer</item> + <item>IM Fell Great Primer SC</item> + <item>Iceberg</item> + <item>Iceland</item> + <item>Imprima</item> + <item>Inconsolata</item> + <item>Inder</item> + <item>Indie Flower</item> + <item>Inika</item> + <item>Inknut Antiqua</item> + <item>Irish Grover</item> + <item>Istok Web</item> + <item>Italiana</item> + <item>Italianno</item> + <item>Itim</item> + <item>Jacques Francois</item> + <item>Jacques Francois Shadow</item> + <item>Jaldi</item> + <item>Jim Nightshade</item> + <item>Jockey One</item> + <item>Jolly Lodger</item> + <item>Jomhuria</item> + <item>Josefin Sans</item> + <item>Josefin Slab</item> + <item>Joti One</item> + <item>Judson</item> + <item>Julee</item> + <item>Julius Sans One</item> + <item>Junge</item> + <item>Jura</item> + <item>Just Another Hand</item> + <item>Just Me Again Down Here</item> + <item>Kadwa</item> + <item>Kalam</item> + <item>Kameron</item> + <item>Kanit</item> + <item>Kantumruy</item> + <item>Karla</item> + <item>Karma</item> + <item>Katibeh</item> + <item>Kaushan Script</item> + <item>Kavivanar</item> + <item>Kavoon</item> + <item>Kdam Thmor</item> + <item>Keania One</item> + <item>Kelly Slab</item> + <item>Kenia</item> + <item>Khand</item> + <item>Khmer</item> + <item>Khula</item> + <item>Kite One</item> + <item>Knewave</item> + <item>Kotta One</item> + <item>Koulen</item> + <item>Kranky</item> + <item>Kreon</item> + <item>Kristi</item> + <item>Krona One</item> + <item>Kumar One</item> + <item>Kumar One Outline</item> + <item>Kurale</item> + <item>La Belle Aurore</item> + <item>Laila</item> + <item>Lakki Reddy</item> + <item>Lalezar</item> + <item>Lancelot</item> + <item>Lateef</item> + <item>Lato</item> + <item>League Script</item> + <item>Leckerli One</item> + <item>Ledger</item> + <item>Lekton</item> + <item>Lemon</item> + <item>Lemonada</item> + <item>Libre Baskerville</item> + <item>Libre Franklin</item> + <item>Life Savers</item> + <item>Lilita One</item> + <item>Lily Script One</item> + <item>Limelight</item> + <item>Linden Hill</item> + <item>Lobster</item> + <item>Lobster Two</item> + <item>Londrina Outline</item> + <item>Londrina Shadow</item> + <item>Londrina Sketch</item> + <item>Londrina Solid</item> + <item>Lora</item> + <item>Love Ya Like A Sister</item> + <item>Loved by the King</item> + <item>Lovers Quarrel</item> + <item>Luckiest Guy</item> + <item>Lusitana</item> + <item>Lustria</item> + <item>Macondo</item> + <item>Macondo Swash Caps</item> + <item>Mada</item> + <item>Magra</item> + <item>Maiden Orange</item> + <item>Maitree</item> + <item>Mako</item> + <item>Mallanna</item> + <item>Mandali</item> + <item>Marcellus</item> + <item>Marcellus SC</item> + <item>Marck Script</item> + <item>Margarine</item> + <item>Marko One</item> + <item>Marmelad</item> + <item>Martel</item> + <item>Martel Sans</item> + <item>Marvel</item> + <item>Mate</item> + <item>Mate SC</item> + <item>Maven Pro</item> + <item>McLaren</item> + <item>Meddon</item> + <item>MedievalSharp</item> + <item>Medula One</item> + <item>Meera Inimai</item> + <item>Megrim</item> + <item>Meie Script</item> + <item>Merienda</item> + <item>Merienda One</item> + <item>Merriweather</item> + <item>Merriweather Sans</item> + <item>Metal</item> + <item>Metal Mania</item> + <item>Metamorphous</item> + <item>Metrophobic</item> + <item>Michroma</item> + <item>Milonga</item> + <item>Miltonian</item> + <item>Miltonian Tattoo</item> + <item>Miniver</item> + <item>Miriam Libre</item> + <item>Mirza</item> + <item>Miss Fajardose</item> + <item>Mitr</item> + <item>Modak</item> + <item>Modern Antiqua</item> + <item>Mogra</item> + <item>Molengo</item> + <item>Molle</item> + <item>Monda</item> + <item>Monofett</item> + <item>Monoton</item> + <item>Monsieur La Doulaise</item> + <item>Montaga</item> + <item>Montez</item> + <item>Montserrat</item> + <item>Montserrat Alternates</item> + <item>Montserrat Subrayada</item> + <item>Moul</item> + <item>Moulpali</item> + <item>Mountains of Christmas</item> + <item>Mouse Memoirs</item> + <item>Mr Bedfort</item> + <item>Mr Dafoe</item> + <item>Mr De Haviland</item> + <item>Mrs Saint Delafield</item> + <item>Mrs Sheppards</item> + <item>Mukta Vaani</item> + <item>Muli</item> + <item>Mystery Quest</item> + <item>NTR</item> + <item>Neucha</item> + <item>Neuton</item> + <item>New Rocker</item> + <item>News Cycle</item> + <item>Niconne</item> + <item>Nixie One</item> + <item>Nobile</item> + <item>Nokora</item> + <item>Norican</item> + <item>Nosifer</item> + <item>Nothing You Could Do</item> + <item>Noticia Text</item> + <item>Noto Sans</item> + <item>Noto Serif</item> + <item>Nova Cut</item> + <item>Nova Flat</item> + <item>Nova Mono</item> + <item>Nova Oval</item> + <item>Nova Round</item> + <item>Nova Script</item> + <item>Nova Slim</item> + <item>Nova Square</item> + <item>Numans</item> + <item>Nunito</item> + <item>Nunito Sans</item> + <item>Odor Mean Chey</item> + <item>Offside</item> + <item>Old Standard TT</item> + <item>Oldenburg</item> + <item>Oleo Script</item> + <item>Oleo Script Swash Caps</item> + <item>Open Sans</item> + <item>Open Sans Condensed</item> + <item>Oranienbaum</item> + <item>Orbitron</item> + <item>Oregano</item> + <item>Orienta</item> + <item>Original Surfer</item> + <item>Oswald</item> + <item>Over the Rainbow</item> + <item>Overlock</item> + <item>Overlock SC</item> + <item>Overpass</item> + <item>Overpass Mono</item> + <item>Ovo</item> + <item>Oxygen</item> + <item>Oxygen Mono</item> + <item>PT Mono</item> + <item>PT Sans</item> + <item>PT Sans Caption</item> + <item>PT Sans Narrow</item> + <item>PT Serif</item> + <item>PT Serif Caption</item> + <item>Pacifico</item> + <item>Padauk</item> + <item>Palanquin</item> + <item>Palanquin Dark</item> + <item>Pangolin</item> + <item>Paprika</item> + <item>Parisienne</item> + <item>Passero One</item> + <item>Passion One</item> + <item>Pathway Gothic One</item> + <item>Patrick Hand</item> + <item>Patrick Hand SC</item> + <item>Pattaya</item> + <item>Patua One</item> + <item>Pavanam</item> + <item>Paytone One</item> + <item>Peddana</item> + <item>Peralta</item> + <item>Permanent Marker</item> + <item>Petit Formal Script</item> + <item>Petrona</item> + <item>Philosopher</item> + <item>Piedra</item> + <item>Pinyon Script</item> + <item>Pirata One</item> + <item>Plaster</item> + <item>Play</item> + <item>Playball</item> + <item>Playfair Display</item> + <item>Playfair Display SC</item> + <item>Podkova</item> + <item>Poiret One</item> + <item>Poller One</item> + <item>Poly</item> + <item>Pompiere</item> + <item>Pontano Sans</item> + <item>Poppins</item> + <item>Port Lligat Sans</item> + <item>Port Lligat Slab</item> + <item>Pragati Narrow</item> + <item>Prata</item> + <item>Preahvihear</item> + <item>Press Start 2P</item> + <item>Pridi</item> + <item>Princess Sofia</item> + <item>Prociono</item> + <item>Prompt</item> + <item>Prosto One</item> + <item>Proza Libre</item> + <item>Puritan</item> + <item>Purple Purse</item> + <item>Quando</item> + <item>Quantico</item> + <item>Quattrocento</item> + <item>Quattrocento Sans</item> + <item>Questrial</item> + <item>Quicksand</item> + <item>Quintessential</item> + <item>Qwigley</item> + <item>Racing Sans One</item> + <item>Radley</item> + <item>Rajdhani</item> + <item>Rakkas</item> + <item>Raleway</item> + <item>Raleway Dots</item> + <item>Ramabhadra</item> + <item>Ramaraja</item> + <item>Rambla</item> + <item>Rammetto One</item> + <item>Ranchers</item> + <item>Rancho</item> + <item>Ranga</item> + <item>Rasa</item> + <item>Rationale</item> + <item>Ravi Prakash</item> + <item>Redressed</item> + <item>Reem Kufi</item> + <item>Reenie Beanie</item> + <item>Revalia</item> + <item>Rhodium Libre</item> + <item>Ribeye</item> + <item>Ribeye Marrow</item> + <item>Righteous</item> + <item>Risque</item> + <item>Roboto</item> + <item>Roboto Condensed</item> + <item>Roboto Mono</item> + <item>Roboto Slab</item> + <item>Rochester</item> + <item>Rock Salt</item> + <item>Rokkitt</item> + <item>Romanesco</item> + <item>Ropa Sans</item> + <item>Rosario</item> + <item>Rosarivo</item> + <item>Rouge Script</item> + <item>Rozha One</item> + <item>Rubik</item> + <item>Rubik Mono One</item> + <item>Ruda</item> + <item>Rufina</item> + <item>Ruge Boogie</item> + <item>Ruluko</item> + <item>Rum Raisin</item> + <item>Ruslan Display</item> + <item>Russo One</item> + <item>Ruthie</item> + <item>Rye</item> + <item>Sacramento</item> + <item>Sahitya</item> + <item>Sail</item> + <item>Salsa</item> + <item>Sanchez</item> + <item>Sancreek</item> + <item>Sansita</item> + <item>Sarala</item> + <item>Sarina</item> + <item>Sarpanch</item> + <item>Satisfy</item> + <item>Scada</item> + <item>Scheherazade</item> + <item>Schoolbell</item> + <item>Scope One</item> + <item>Seaweed Script</item> + <item>Secular One</item> + <item>Sevillana</item> + <item>Seymour One</item> + <item>Shadows Into Light</item> + <item>Shadows Into Light Two</item> + <item>Shanti</item> + <item>Share</item> + <item>Share Tech</item> + <item>Share Tech Mono</item> + <item>Shojumaru</item> + <item>Short Stack</item> + <item>Shrikhand</item> + <item>Siemreap</item> + <item>Sigmar One</item> + <item>Signika</item> + <item>Signika Negative</item> + <item>Simonetta</item> + <item>Sintony</item> + <item>Sirin Stencil</item> + <item>Six Caps</item> + <item>Skranji</item> + <item>Slabo 13px</item> + <item>Slabo 27px</item> + <item>Slackey</item> + <item>Smokum</item> + <item>Smythe</item> + <item>Sniglet</item> + <item>Snippet</item> + <item>Snowburst One</item> + <item>Sofadi One</item> + <item>Sofia</item> + <item>Sonsie One</item> + <item>Sorts Mill Goudy</item> + <item>Source Code Pro</item> + <item>Source Sans Pro</item> + <item>Source Serif Pro</item> + <item>Space Mono</item> + <item>Special Elite</item> + <item>Spicy Rice</item> + <item>Spinnaker</item> + <item>Spirax</item> + <item>Squada One</item> + <item>Sree Krushnadevaraya</item> + <item>Sriracha</item> + <item>Stalemate</item> + <item>Stalinist One</item> + <item>Stardos Stencil</item> + <item>Stint Ultra Condensed</item> + <item>Stint Ultra Expanded</item> + <item>Stoke</item> + <item>Strait</item> + <item>Sue Ellen Francisco</item> + <item>Suez One</item> + <item>Sumana</item> + <item>Sunshiney</item> + <item>Supermercado One</item> + <item>Sura</item> + <item>Suranna</item> + <item>Suravaram</item> + <item>Suwannaphum</item> + <item>Swanky and Moo Moo</item> + <item>Syncopate</item> + <item>Tangerine</item> + <item>Taprom</item> + <item>Tauri</item> + <item>Taviraj</item> + <item>Teko</item> + <item>Telex</item> + <item>Tenali Ramakrishna</item> + <item>Tenor Sans</item> + <item>Text Me One</item> + <item>The Girl Next Door</item> + <item>Tienne</item> + <item>Tillana</item> + <item>Timmana</item> + <item>Tinos</item> + <item>Titan One</item> + <item>Titillium Web</item> + <item>Trade Winds</item> + <item>Trirong</item> + <item>Trocchi</item> + <item>Trochut</item> + <item>Trykker</item> + <item>Tulpen One</item> + <item>Ubuntu</item> + <item>Ubuntu Condensed</item> + <item>Ubuntu Mono</item> + <item>Ultra</item> + <item>Uncial Antiqua</item> + <item>Underdog</item> + <item>Unica One</item> + <item>UnifrakturCook</item> + <item>UnifrakturMaguntia</item> + <item>Unkempt</item> + <item>Unlock</item> + <item>Unna</item> + <item>VT323</item> + <item>Vampiro One</item> + <item>Varela</item> + <item>Varela Round</item> + <item>Vast Shadow</item> + <item>Vesper Libre</item> + <item>Vibur</item> + <item>Vidaloka</item> + <item>Viga</item> + <item>Voces</item> + <item>Volkhov</item> + <item>Vollkorn</item> + <item>Voltaire</item> + <item>Waiting for the Sunrise</item> + <item>Wallpoet</item> + <item>Walter Turncoat</item> + <item>Warnes</item> + <item>Wellfleet</item> + <item>Wendy One</item> + <item>Wire One</item> + <item>Work Sans</item> + <item>Yanone Kaffeesatz</item> + <item>Yantramanav</item> + <item>Yatra One</item> + <item>Yellowtail</item> + <item>Yeseva One</item> + <item>Yesteryear</item> + <item>Yrsa</item> + <item>Zeyada</item> + </string-array> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/font_certs.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/font_certs.xml new file mode 100644 index 00000000..a09ad32f --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/font_certs.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <array name="com_google_android_gms_fonts_certs"> + <item>@array/com_google_android_gms_fonts_certs_dev</item> + <item>@array/com_google_android_gms_fonts_certs_prod</item> + </array> + <string-array name="com_google_android_gms_fonts_certs_dev"> + <item> + MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs= + </item> + </string-array> + <string-array name="com_google_android_gms_fonts_certs_prod"> + <item> + MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK + </item> + </string-array> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/preloaded_fonts.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/preloaded_fonts.xml new file mode 100644 index 00000000..df301f60 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/preloaded_fonts.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <array name="preloaded_fonts" translatable="false"> + <item>@font/lobster_two</item> + </array> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/strings.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/strings.xml new file mode 100644 index 00000000..1eed5534 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/strings.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <string name="app_name">Downloadable fonts sample</string> + <string name="request">request</string> + <string name="invalid_family_name">Not a valid Family Name</string> + <string name="invalid_input">Invalid inputs exist</string> + <string name="family_name">Family Name</string> + <string name="weight">Weight</string> + <string name="width">Width</string> + <string name="italic">Italic</string> + <string name="best_effort">Best Effort (Nearest match)</string> + <string name="predefined_font">The pre-downloaded font is used for this part to avoid the overhead of the time until the requested font is downloaded. See "src/main/res/font" directory for usage.</string> + <string name="downloadable_font_applied_text">Typeface of this part is going to be changed when a new font is downloaded. To request a new font, fill the \"Family Name\" (and optionally change other attributes such as width, weight, italic), then tap the \"Request\" button</string> + <string name="request_failed">Font request failed with reason code: %1$d</string> +</resources> diff --git a/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/styles.xml b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/styles.xml new file mode 100644 index 00000000..9ba54f26 --- /dev/null +++ b/ui/fonts/DownloadableFonts/kotlinApp/src/main/res/values/styles.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2017 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <!-- Base application theme. --> + <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> + <!-- Customize your theme here. --> + <item name="colorPrimary">@color/primary</item> + <item name="colorPrimaryDark">@color/primary_dark</item> + <item name="colorAccent">@color/accent</item> + </style> +</resources> diff --git a/ui/fonts/DownloadableFonts/settings.gradle b/ui/fonts/DownloadableFonts/settings.gradle index e7b4def4..2279ee72 100644 --- a/ui/fonts/DownloadableFonts/settings.gradle +++ b/ui/fonts/DownloadableFonts/settings.gradle @@ -1 +1 @@ -include ':app' +include ':app', ':kotlinApp' |