mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-19 19:14:51 +00:00
Started moving all strings to strings.xml
This commit is contained in:
parent
48ab77eadc
commit
35f9173980
95 changed files with 685 additions and 1117 deletions
|
@ -45,8 +45,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
val onTabsChanged = Event0();
|
||||
|
||||
@FormField(
|
||||
"Manage Polycentric identity", FieldForm.BUTTON,
|
||||
"Manage your Polycentric identity", -4
|
||||
R.string.manage_polycentric_identity, FieldForm.BUTTON,
|
||||
R.string.manage_your_polycentric_identity, -4
|
||||
)
|
||||
@FormFieldButton(R.drawable.ic_person)
|
||||
fun managePolycentricIdentity() {
|
||||
|
@ -60,8 +60,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Show FAQ", FieldForm.BUTTON,
|
||||
"Get answers to common questions", -3
|
||||
R.string.show_faq, FieldForm.BUTTON,
|
||||
R.string.get_answers_to_common_questions, -3
|
||||
)
|
||||
@FormFieldButton(R.drawable.ic_quiz)
|
||||
fun openFAQ() {
|
||||
|
@ -73,8 +73,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
@FormField(
|
||||
"Show Issues", FieldForm.BUTTON,
|
||||
"A list of user-reported and self-reported issues", -2
|
||||
R.string.show_issues, FieldForm.BUTTON,
|
||||
R.string.a_list_of_user_reported_and_self_reported_issues, -2
|
||||
)
|
||||
@FormFieldButton(R.drawable.ic_data_alert)
|
||||
fun openIssues() {
|
||||
|
@ -87,8 +87,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Submit feedback", FieldForm.BUTTON,
|
||||
"Give feedback on the application", -1
|
||||
R.string.submit_feedback, FieldForm.BUTTON,
|
||||
R.string.give_feedback_on_the_application, -1
|
||||
)
|
||||
@FormFieldButton(R.drawable.ic_bug)
|
||||
fun submitFeedback() {
|
||||
|
@ -107,8 +107,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Manage Tabs", FieldForm.BUTTON,
|
||||
"Change tabs visible on the home screen", -1
|
||||
R.string.manage_tabs, FieldForm.BUTTON,
|
||||
R.string.change_tabs_visible_on_the_home_screen, -1
|
||||
)
|
||||
@FormFieldButton(R.drawable.ic_tabs)
|
||||
fun manageTabs() {
|
||||
|
@ -121,11 +121,11 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Home", "group", "Configure how your Home tab works and feels", 1)
|
||||
@FormField(R.string.home, "group", R.string.configure_how_your_home_tab_works_and_feels, 1)
|
||||
var home = HomeSettings();
|
||||
@Serializable
|
||||
class HomeSettings {
|
||||
@FormField("Feed Style", FieldForm.DROPDOWN, "", 5)
|
||||
@FormField(R.string.feed_style, FieldForm.DROPDOWN, -1, 5)
|
||||
@DropdownFieldOptionsId(R.array.feed_style)
|
||||
var homeFeedStyle: Int = 1;
|
||||
|
||||
|
@ -137,16 +137,16 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Search", "group", "", 2)
|
||||
@FormField(R.string.search, "group", -1, 2)
|
||||
var search = SearchSettings();
|
||||
@Serializable
|
||||
class SearchSettings {
|
||||
@FormField("Search History", FieldForm.TOGGLE, "", 4)
|
||||
@FormField(R.string.search_history, FieldForm.TOGGLE, -1, 4)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var searchHistory: Boolean = true;
|
||||
|
||||
|
||||
@FormField("Feed Style", FieldForm.DROPDOWN, "", 5)
|
||||
@FormField(R.string.feed_style, FieldForm.DROPDOWN, -1, 5)
|
||||
@DropdownFieldOptionsId(R.array.feed_style)
|
||||
var searchFeedStyle: Int = 1;
|
||||
|
||||
|
@ -159,11 +159,11 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Subscriptions", "group", "Configure how your Subscriptions works and feels", 3)
|
||||
@FormField(R.string.subscriptions, "group", R.string.configure_how_your_subscriptions_works_and_feels, 3)
|
||||
var subscriptions = SubscriptionsSettings();
|
||||
@Serializable
|
||||
class SubscriptionsSettings {
|
||||
@FormField("Feed Style", FieldForm.DROPDOWN, "", 5)
|
||||
@FormField(R.string.feed_style, FieldForm.DROPDOWN, -1, 5)
|
||||
@DropdownFieldOptionsId(R.array.feed_style)
|
||||
var subscriptionsFeedStyle: Int = 1;
|
||||
|
||||
|
@ -174,11 +174,11 @@ class Settings : FragmentedStorageFileJson() {
|
|||
return FeedStyle.THUMBNAIL;
|
||||
}
|
||||
|
||||
@FormField("Fetch on app boot", FieldForm.TOGGLE, "Shortly after opening the app, start fetching subscriptions.", 6)
|
||||
@FormField(R.string.fetch_on_app_boot, FieldForm.TOGGLE, R.string.shortly_after_opening_the_app_start_fetching_subscriptions, 6)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var fetchOnAppBoot: Boolean = true;
|
||||
|
||||
@FormField("Background Update", FieldForm.DROPDOWN, "Experimental background update for subscriptions cache (requires restart)", 7)
|
||||
@FormField(R.string.background_update, FieldForm.DROPDOWN, R.string.experimental_background_update_for_subscriptions_cache, 7)
|
||||
@DropdownFieldOptionsId(R.array.background_interval)
|
||||
var subscriptionsBackgroundUpdateInterval: Int = 0;
|
||||
|
||||
|
@ -194,7 +194,7 @@ class Settings : FragmentedStorageFileJson() {
|
|||
};
|
||||
|
||||
|
||||
@FormField("Subscription Concurrency", FieldForm.DROPDOWN, "Specify how many threads are used to fetch channels (requires restart)", 8)
|
||||
@FormField(R.string.subscription_concurrency, FieldForm.DROPDOWN, R.string.specify_how_many_threads_are_used_to_fetch_channels, 8)
|
||||
@DropdownFieldOptionsId(R.array.thread_count)
|
||||
var subscriptionConcurrency: Int = 3;
|
||||
|
||||
|
@ -203,17 +203,17 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Player", "group", "Change behavior of the player", 4)
|
||||
@FormField(R.string.player, "group", R.string.change_behavior_of_the_player, 4)
|
||||
var playback = PlaybackSettings();
|
||||
@Serializable
|
||||
class PlaybackSettings {
|
||||
@FormField("Primary Language", FieldForm.DROPDOWN, "", 0)
|
||||
@FormField(R.string.primary_language, FieldForm.DROPDOWN, -1, 0)
|
||||
@DropdownFieldOptionsId(R.array.languages)
|
||||
var primaryLanguage: Int = 0;
|
||||
|
||||
fun getPrimaryLanguage(context: Context) = context.resources.getStringArray(R.array.languages)[primaryLanguage];
|
||||
|
||||
@FormField("Default Playback Speed", FieldForm.DROPDOWN, "", 1)
|
||||
@FormField(R.string.default_playback_speed, FieldForm.DROPDOWN, -1, 1)
|
||||
@DropdownFieldOptionsId(R.array.playback_speeds)
|
||||
var defaultPlaybackSpeed: Int = 3;
|
||||
fun getDefaultPlaybackSpeed(): Float = when(defaultPlaybackSpeed) {
|
||||
|
@ -229,29 +229,29 @@ class Settings : FragmentedStorageFileJson() {
|
|||
else -> 1.0f;
|
||||
};
|
||||
|
||||
@FormField("Preferred Quality", FieldForm.DROPDOWN, "", 2)
|
||||
@FormField(R.string.preferred_quality, FieldForm.DROPDOWN, -1, 2)
|
||||
@DropdownFieldOptionsId(R.array.preferred_quality_array)
|
||||
var preferredQuality: Int = 0;
|
||||
|
||||
@FormField("Preferred Metered Quality", FieldForm.DROPDOWN, "", 2)
|
||||
@FormField(R.string.preferred_metered_quality, FieldForm.DROPDOWN, -1, 2)
|
||||
@DropdownFieldOptionsId(R.array.preferred_quality_array)
|
||||
var preferredMeteredQuality: Int = 0;
|
||||
fun getPreferredQualityPixelCount(): Int = preferedQualityToPixels(preferredQuality);
|
||||
fun getPreferredMeteredQualityPixelCount(): Int = preferedQualityToPixels(preferredMeteredQuality);
|
||||
fun getCurrentPreferredQualityPixelCount(): Int = if(!StateApp.instance.isCurrentMetered()) getPreferredQualityPixelCount() else getPreferredMeteredQualityPixelCount();
|
||||
|
||||
@FormField("Preferred Preview Quality", FieldForm.DROPDOWN, "", 3)
|
||||
@FormField(R.string.preferred_preview_quality, FieldForm.DROPDOWN, -1, 3)
|
||||
@DropdownFieldOptionsId(R.array.preferred_quality_array)
|
||||
var preferredPreviewQuality: Int = 5;
|
||||
fun getPreferredPreviewQualityPixelCount(): Int = preferedQualityToPixels(preferredPreviewQuality);
|
||||
|
||||
@FormField("Auto-Rotate", FieldForm.DROPDOWN, "", 4)
|
||||
@FormField(R.string.auto_rotate, FieldForm.DROPDOWN, -1, 4)
|
||||
@DropdownFieldOptionsId(R.array.system_enabled_disabled_array)
|
||||
var autoRotate: Int = 2;
|
||||
|
||||
fun isAutoRotate() = autoRotate == 1 || (autoRotate == 2 && StateApp.instance.getCurrentSystemAutoRotate());
|
||||
|
||||
@FormField("Auto-Rotate Dead Zone", FieldForm.DROPDOWN, "This prevents the device from rotating within the given amount of degrees.", 5)
|
||||
@FormField(R.string.auto_rotate_dead_zone, FieldForm.DROPDOWN, R.string.this_prevents_the_device_from_rotating_within_the_given_amount_of_degrees, 5)
|
||||
@DropdownFieldOptionsId(R.array.auto_rotate_dead_zone)
|
||||
var autoRotateDeadZone: Int = 0;
|
||||
|
||||
|
@ -259,19 +259,19 @@ class Settings : FragmentedStorageFileJson() {
|
|||
return autoRotateDeadZone * 5;
|
||||
}
|
||||
|
||||
@FormField("Background Behavior", FieldForm.DROPDOWN, "", 6)
|
||||
@FormField(R.string.background_behavior, FieldForm.DROPDOWN, -1, 6)
|
||||
@DropdownFieldOptionsId(R.array.player_background_behavior)
|
||||
var backgroundPlay: Int = 2;
|
||||
|
||||
fun isBackgroundContinue() = backgroundPlay == 1;
|
||||
fun isBackgroundPictureInPicture() = backgroundPlay == 2;
|
||||
|
||||
@FormField("Resume After Preview", FieldForm.DROPDOWN, "When watching a video in preview mode, resume at the position when opening the video", 7)
|
||||
@FormField(R.string.resume_after_preview, FieldForm.DROPDOWN, R.string.when_watching_a_video_in_preview_mode_resume_at_the_position_when_opening_the_video_code, 7)
|
||||
@DropdownFieldOptionsId(R.array.resume_after_preview)
|
||||
var resumeAfterPreview: Int = 1;
|
||||
|
||||
|
||||
@FormField("Live Chat Webview", FieldForm.TOGGLE, "Use the live chat web window when available over native implementation.", 8)
|
||||
@FormField(R.string.live_chat_webview, FieldForm.TOGGLE, R.string.use_the_live_chat_web_window_when_available_over_native_implementation, 8)
|
||||
var useLiveChatWindow: Boolean = true;
|
||||
|
||||
fun shouldResumePreview(previewedPosition: Long): Boolean{
|
||||
|
@ -283,12 +283,12 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Downloads", "group", "Configure downloading of videos", 5)
|
||||
@FormField(R.string.downloads, "group", R.string.configure_downloading_of_videos, 5)
|
||||
var downloads = Downloads();
|
||||
@Serializable
|
||||
class Downloads {
|
||||
|
||||
@FormField("Download when", FieldForm.DROPDOWN, "Configure when videos should be downloaded", 0)
|
||||
@FormField(R.string.download_when, FieldForm.DROPDOWN, R.string.configure_when_videos_should_be_downloaded, 0)
|
||||
@DropdownFieldOptionsId(R.array.when_download)
|
||||
var whenDownload: Int = 0;
|
||||
|
||||
|
@ -301,21 +301,21 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Default Video Quality", FieldForm.DROPDOWN, "", 2)
|
||||
@FormField(R.string.default_video_quality, FieldForm.DROPDOWN, -1, 2)
|
||||
@DropdownFieldOptionsId(R.array.preferred_video_download)
|
||||
var preferredVideoQuality: Int = 4;
|
||||
fun getDefaultVideoQualityPixels(): Int = preferedQualityToPixels(preferredVideoQuality);
|
||||
|
||||
@FormField("Default Audio Quality", FieldForm.DROPDOWN, "", 3)
|
||||
@FormField(R.string.default_audio_quality, FieldForm.DROPDOWN, -1, 3)
|
||||
@DropdownFieldOptionsId(R.array.preferred_audio_download)
|
||||
var preferredAudioQuality: Int = 1;
|
||||
fun isHighBitrateDefault(): Boolean = preferredAudioQuality > 0;
|
||||
|
||||
@FormField("ByteRange Download", FieldForm.TOGGLE, "Attempt to utilize byte ranges, this can be combined with concurrency to bypass throttling", 4)
|
||||
@FormField(R.string.byte_range_download, FieldForm.TOGGLE, R.string.attempt_to_utilize_byte_ranges, 4)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var byteRangeDownload: Boolean = true;
|
||||
|
||||
@FormField("ByteRange Concurrency", FieldForm.DROPDOWN, "Number of concurrent threads to multiply download speeds from throttled sources", 5)
|
||||
@FormField(R.string.byte_range_concurrency, FieldForm.DROPDOWN, R.string.number_of_concurrent_threads_to_multiply_download_speeds_from_throttled_sources, 5)
|
||||
@DropdownFieldOptionsId(R.array.thread_count)
|
||||
var byteRangeConcurrency: Int = 3;
|
||||
fun getByteRangeThreadCount(): Int {
|
||||
|
@ -323,20 +323,20 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Browsing", "group", "Configure browsing behavior", 6)
|
||||
@FormField(R.string.browsing, "group", R.string.configure_browsing_behavior, 6)
|
||||
var browsing = Browsing();
|
||||
@Serializable
|
||||
class Browsing {
|
||||
@FormField("Enable Video Cache", FieldForm.TOGGLE, "A cache to quickly load previously fetched videos", 0)
|
||||
@FormField(R.string.enable_video_cache, FieldForm.TOGGLE, R.string.cache_to_quickly_load_previously_fetched_videos, 0)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var videoCache: Boolean = true;
|
||||
}
|
||||
|
||||
@FormField("Casting", "group", "Configure casting", 7)
|
||||
@FormField(R.string.casting, "group", R.string.configure_casting, 7)
|
||||
var casting = Casting();
|
||||
@Serializable
|
||||
class Casting {
|
||||
@FormField("Enabled", FieldForm.TOGGLE, "Enable casting", 0)
|
||||
@FormField(R.string.enabled, FieldForm.TOGGLE, R.string.enable_casting, 0)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var enabled: Boolean = true;
|
||||
|
||||
|
@ -358,24 +358,24 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
|
||||
@FormField("Logging", FieldForm.GROUP, "", 8)
|
||||
@FormField(R.string.logging, FieldForm.GROUP, -1, 8)
|
||||
var logging = Logging();
|
||||
@Serializable
|
||||
class Logging {
|
||||
@FormField("Log Level", FieldForm.DROPDOWN, "", 0)
|
||||
@FormField(R.string.log_level, FieldForm.DROPDOWN, -1, 0)
|
||||
@DropdownFieldOptionsId(R.array.log_levels)
|
||||
var logLevel: Int = 0;
|
||||
|
||||
@FormField(
|
||||
"Submit logs", FieldForm.BUTTON,
|
||||
"Submit logs to help us narrow down issues", 1
|
||||
R.string.submit_logs, FieldForm.BUTTON,
|
||||
R.string.submit_logs_to_help_us_narrow_down_issues, 1
|
||||
)
|
||||
fun submitLogs() {
|
||||
StateApp.instance.scopeOrNull?.launch(Dispatchers.IO) {
|
||||
try {
|
||||
if (!Logger.submitLogs()) {
|
||||
withContext(Dispatchers.Main) {
|
||||
SettingsActivity.getActivity()?.let { UIDialogs.toast(it, "Please enable logging to submit logs") }
|
||||
SettingsActivity.getActivity()?.let { UIDialogs.toast(it, it.getString(R.string.please_enable_logging_to_submit_logs)) }
|
||||
}
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
|
@ -387,40 +387,40 @@ class Settings : FragmentedStorageFileJson() {
|
|||
|
||||
|
||||
|
||||
@FormField("Announcement", FieldForm.GROUP, "", 10)
|
||||
@FormField(R.string.announcement, FieldForm.GROUP, -1, 10)
|
||||
var announcementSettings = AnnouncementSettings();
|
||||
@Serializable
|
||||
class AnnouncementSettings {
|
||||
@FormField(
|
||||
"Reset announcements", FieldForm.BUTTON,
|
||||
"Reset hidden announcements", 1
|
||||
R.string.reset_announcements, FieldForm.BUTTON,
|
||||
R.string.reset_hidden_announcements, 1
|
||||
)
|
||||
fun resetAnnouncements() {
|
||||
StateAnnouncement.instance.resetAnnouncements();
|
||||
UIDialogs.toast("Announcements reset.");
|
||||
SettingsActivity.getActivity()?.let { UIDialogs.toast(it, it.getString(R.string.announcements_reset)); };
|
||||
}
|
||||
}
|
||||
|
||||
@FormField("Plugins", FieldForm.GROUP, "", 11)
|
||||
@FormField(R.string.plugins, FieldForm.GROUP, -1, 11)
|
||||
@Transient
|
||||
var plugins = Plugins();
|
||||
@Serializable
|
||||
class Plugins {
|
||||
|
||||
@FormField("Clear Cookies on Logout", FieldForm.TOGGLE, "Clears cookies when you log out, allowing you to change account.", 0)
|
||||
@FormField(R.string.clear_cookies_on_logout, FieldForm.TOGGLE, R.string.clears_cookies_when_you_log_out, 0)
|
||||
var clearCookiesOnLogout: Boolean = true;
|
||||
|
||||
@FormField(
|
||||
"Clear Cookies", FieldForm.BUTTON,
|
||||
"Clears in-app browser cookies, especially useful for fully logging out of plugins.", 1
|
||||
R.string.clear_cookies, FieldForm.BUTTON,
|
||||
R.string.clears_in_app_browser_cookies, 1
|
||||
)
|
||||
fun clearCookies() {
|
||||
val cookieManager: CookieManager = CookieManager.getInstance();
|
||||
cookieManager.removeAllCookies(null);
|
||||
}
|
||||
@FormField(
|
||||
"Reinstall Embedded Plugins", FieldForm.BUTTON,
|
||||
"Also removes any data related plugin like login or settings (may not clear browser cache)", 1
|
||||
R.string.reinstall_embedded_plugins, FieldForm.BUTTON,
|
||||
R.string.also_removes_any_data_related_plugin_like_login_or_settings, 1
|
||||
)
|
||||
fun reinstallEmbedded() {
|
||||
StateApp.instance.scopeOrNull!!.launch(Dispatchers.IO) {
|
||||
|
@ -429,7 +429,7 @@ class Settings : FragmentedStorageFileJson() {
|
|||
|
||||
withContext(Dispatchers.Main) {
|
||||
StateApp.instance.contextOrNull?.let {
|
||||
UIDialogs.toast(it, "Embedded plugins reinstalled, a reboot is recommended");
|
||||
UIDialogs.toast(it, it.getString(R.string.embedded_plugins_reinstalled_a_reboot_is_recommended));
|
||||
};
|
||||
}
|
||||
} catch (ex: Exception) {
|
||||
|
@ -444,7 +444,7 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
|
||||
@FormField("External Storage", FieldForm.GROUP, "", 12)
|
||||
@FormField(R.string.external_storage, FieldForm.GROUP, -1, 12)
|
||||
var storage = Storage();
|
||||
@Serializable
|
||||
class Storage {
|
||||
|
@ -456,13 +456,13 @@ class Settings : FragmentedStorageFileJson() {
|
|||
fun isStorageMainValid(context: Context): Boolean = StateApp.instance.isValidStorageUri(context, getStorageGeneralUri());
|
||||
fun isStorageDownloadValid(context: Context): Boolean = StateApp.instance.isValidStorageUri(context, getStorageDownloadUri());
|
||||
|
||||
@FormField("Change external General directory", FieldForm.BUTTON, "Change the external directory for general files, used for persistent files like auto-backup", 3)
|
||||
@FormField(R.string.change_external_general_directory, FieldForm.BUTTON, R.string.change_the_external_directory_for_general_files, 3)
|
||||
fun changeStorageGeneral() {
|
||||
SettingsActivity.getActivity()?.let {
|
||||
StateApp.instance.changeExternalGeneralDirectory(it);
|
||||
}
|
||||
}
|
||||
@FormField("Change external Downloads directory", FieldForm.BUTTON, "Change the external storage for download files, used for exported download files", 4)
|
||||
@FormField(R.string.change_external_downloads_directory, FieldForm.BUTTON, R.string.change_the_external_storage_for_download_files, 4)
|
||||
fun changeStorageDownload() {
|
||||
SettingsActivity.getActivity()?.let {
|
||||
StateApp.instance.changeExternalDownloadDirectory(it);
|
||||
|
@ -471,19 +471,19 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
|
||||
@FormField("Auto Update", "group", "Configure the auto updater", 12)
|
||||
@FormField(R.string.auto_update, "group", R.string.configure_the_auto_updater, 12)
|
||||
var autoUpdate = AutoUpdate();
|
||||
@Serializable
|
||||
class AutoUpdate {
|
||||
@FormField("Check", FieldForm.DROPDOWN, "", 0)
|
||||
@FormField(R.string.check, FieldForm.DROPDOWN, -1, 0)
|
||||
@DropdownFieldOptionsId(R.array.auto_update_when_array)
|
||||
var check: Int = 0;
|
||||
|
||||
@FormField("Background download", FieldForm.DROPDOWN, "Configure if background download should be used", 1)
|
||||
@FormField(R.string.background_download, FieldForm.DROPDOWN, R.string.configure_if_background_download_should_be_used, 1)
|
||||
@DropdownFieldOptionsId(R.array.background_download)
|
||||
var backgroundDownload: Int = 0;
|
||||
|
||||
@FormField("Download when", FieldForm.DROPDOWN, "Configure when updates should be downloaded", 2)
|
||||
@FormField(R.string.download_when, FieldForm.DROPDOWN, R.string.configure_when_updates_should_be_downloaded, 2)
|
||||
@DropdownFieldOptionsId(R.array.when_download)
|
||||
var whenDownload: Int = 0;
|
||||
|
||||
|
@ -501,8 +501,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Manual check", FieldForm.BUTTON,
|
||||
"Manually check for updates", 3
|
||||
R.string.manual_check, FieldForm.BUTTON,
|
||||
R.string.manually_check_for_updates, 3
|
||||
)
|
||||
fun manualCheck() {
|
||||
if (!BuildConfig.IS_PLAYSTORE_BUILD) {
|
||||
|
@ -514,19 +514,20 @@ class Settings : FragmentedStorageFileJson() {
|
|||
try {
|
||||
it.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=${it.packageName}")))
|
||||
} catch (e: ActivityNotFoundException) {
|
||||
UIDialogs.toast(it, "Failed to show store.");
|
||||
UIDialogs.toast(it, it.getString(R.string.failed_to_show_store));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@FormField(
|
||||
"View changelog", FieldForm.BUTTON,
|
||||
"Review the current and past changelogs", 4
|
||||
R.string.view_changelog, FieldForm.BUTTON,
|
||||
R.string.review_the_current_and_past_changelogs, 4
|
||||
)
|
||||
fun viewChangelog() {
|
||||
UIDialogs.toast("Retrieving changelog");
|
||||
SettingsActivity.getActivity()?.let {
|
||||
UIDialogs.toast(it.getString(R.string.retrieving_changelog));
|
||||
|
||||
StateApp.instance.scopeOrNull?.launch(Dispatchers.IO) {
|
||||
try {
|
||||
val version = StateUpdate.instance.downloadVersionCode(ManagedHttpClient()) ?: return@launch;
|
||||
|
@ -543,8 +544,8 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Remove Cached Version", FieldForm.BUTTON,
|
||||
"Remove the last downloaded version", 5
|
||||
R.string.remove_cached_version, FieldForm.BUTTON,
|
||||
R.string.remove_the_last_downloaded_version, 5
|
||||
)
|
||||
fun removeCachedVersion() {
|
||||
StateApp.withContext {
|
||||
|
@ -561,7 +562,7 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Backup", FieldForm.GROUP, "", 13)
|
||||
@FormField(R.string.backup, FieldForm.GROUP, -1, 13)
|
||||
var backup = Backup();
|
||||
@Serializable
|
||||
class Backup {
|
||||
|
@ -571,16 +572,16 @@ class Settings : FragmentedStorageFileJson() {
|
|||
var autoBackupPassword: String? = null;
|
||||
fun shouldAutomaticBackup() = autoBackupPassword != null;
|
||||
|
||||
@FormField("Automatic Backup", FieldForm.READONLYTEXT, "", 0)
|
||||
@FormField(R.string.automatic_backup, FieldForm.READONLYTEXT, -1, 0)
|
||||
val automaticBackupText get() = if(!shouldAutomaticBackup()) "None" else "Every Day";
|
||||
|
||||
@FormField("Set Automatic Backup", FieldForm.BUTTON, "Configure daily backup in case of catastrophic failure. (Written to the external Grayjay directory)", 1)
|
||||
@FormField(R.string.set_automatic_backup, FieldForm.BUTTON, R.string.configure_daily_backup_in_case_of_catastrophic_failure, 1)
|
||||
fun configureAutomaticBackup() {
|
||||
UIDialogs.showAutomaticBackupDialog(SettingsActivity.getActivity()!!, autoBackupPassword != null) {
|
||||
SettingsActivity.getActivity()?.reloadSettings();
|
||||
};
|
||||
}
|
||||
@FormField("Restore Automatic Backup", FieldForm.BUTTON, "Restore a previous automatic backup", 2)
|
||||
@FormField(R.string.restore_automatic_backup, FieldForm.BUTTON, R.string.restore_a_previous_automatic_backup, 2)
|
||||
fun restoreAutomaticBackup() {
|
||||
val activity = SettingsActivity.getActivity()!!
|
||||
|
||||
|
@ -591,38 +592,38 @@ class Settings : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
|
||||
@FormField("Export Data", FieldForm.BUTTON, "Creates a zip file with your data which can be imported by opening it with Grayjay", 3)
|
||||
@FormField(R.string.export_data, FieldForm.BUTTON, R.string.creates_a_zip_file_with_your_data_which_can_be_imported_by_opening_it_with_grayjay, 3)
|
||||
fun export() {
|
||||
StateBackup.startExternalBackup();
|
||||
}
|
||||
}
|
||||
|
||||
@FormField("Payment", FieldForm.GROUP, "", 14)
|
||||
@FormField(R.string.payment, FieldForm.GROUP, -1, 14)
|
||||
var payment = Payment();
|
||||
@Serializable
|
||||
class Payment {
|
||||
@FormField("Payment Status", FieldForm.READONLYTEXT, "", 1)
|
||||
val paymentStatus: String get() = if (StatePayment.instance.hasPaid) "Paid" else "Not Paid";
|
||||
@FormField(R.string.payment_status, FieldForm.READONLYTEXT, -1, 1)
|
||||
val paymentStatus: String get() = SettingsActivity.getActivity()?.let { if (StatePayment.instance.hasPaid) it.getString(R.string.paid) else it.getString(R.string.not_paid); } ?: "Unknown";
|
||||
|
||||
@FormField("Clear Payment", FieldForm.BUTTON, "Deletes license keys from app", 2)
|
||||
@FormField(R.string.clear_payment, FieldForm.BUTTON, R.string.deletes_license_keys_from_app, 2)
|
||||
fun clearPayment() {
|
||||
StatePayment.instance.clearLicenses();
|
||||
SettingsActivity.getActivity()?.let {
|
||||
UIDialogs.toast(it, "Licenses cleared, might require app restart");
|
||||
UIDialogs.toast(it, it.getString(R.string.licenses_cleared_might_require_app_restart));
|
||||
it.reloadSettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@FormField("Info", FieldForm.GROUP, "", 15)
|
||||
@FormField(R.string.info, FieldForm.GROUP, -1, 15)
|
||||
var info = Info();
|
||||
@Serializable
|
||||
class Info {
|
||||
@FormField("Version Code", FieldForm.READONLYTEXT, "", 1, "code")
|
||||
@FormField(R.string.version_code, FieldForm.READONLYTEXT, -1, 1, "code")
|
||||
var versionCode = BuildConfig.VERSION_CODE;
|
||||
@FormField("Version Name", FieldForm.READONLYTEXT, "", 2)
|
||||
@FormField(R.string.version_name, FieldForm.READONLYTEXT, -1, 2)
|
||||
var versionName = BuildConfig.VERSION_NAME;
|
||||
@FormField("Version Type", FieldForm.READONLYTEXT, "", 3)
|
||||
@FormField(R.string.version_type, FieldForm.READONLYTEXT, -1, 3)
|
||||
var versionType = BuildConfig.BUILD_TYPE;
|
||||
}
|
||||
|
||||
|
|
|
@ -34,22 +34,22 @@ import kotlin.system.measureTimeMillis
|
|||
@Serializable()
|
||||
class SettingsDev : FragmentedStorageFileJson() {
|
||||
|
||||
@FormField("Developer Mode", FieldForm.TOGGLE, "", 0)
|
||||
@FormField(R.string.developer_mode, FieldForm.TOGGLE, -1, 0)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var developerMode: Boolean = false;
|
||||
|
||||
@FormField("Development Server", FieldForm.GROUP,
|
||||
"Settings related to development server, be careful as it may open your phone to security vulnerabilities", 1)
|
||||
@FormField(R.string.development_server, FieldForm.GROUP,
|
||||
R.string.settings_related_to_development_server_be_careful_as_it_may_open_your_phone_to_security_vulnerabilities, 1)
|
||||
val devServerSettings: DeveloperServerFields = DeveloperServerFields();
|
||||
@Serializable
|
||||
class DeveloperServerFields {
|
||||
|
||||
@FormField("Start Server on boot", FieldForm.TOGGLE, "", 0)
|
||||
@FormField(R.string.start_server_on_boot, FieldForm.TOGGLE, -1, 0)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var devServerOnBoot: Boolean = false;
|
||||
|
||||
@FormField("Start Server", FieldForm.BUTTON,
|
||||
"Starts a DevServer on port 11337, may expose vulnerabilities.", 1)
|
||||
@FormField(R.string.start_server, FieldForm.BUTTON,
|
||||
R.string.starts_a_devServer_on_port_11337_may_expose_vulnerabilities, 1)
|
||||
fun startServer() {
|
||||
StateDeveloper.instance.runServer();
|
||||
StateApp.instance.contextOrNull?.let {
|
||||
|
@ -58,31 +58,31 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
|
||||
@FormField("Experimental", FieldForm.GROUP,
|
||||
"Settings related to development server, be careful as it may open your phone to security vulnerabilities", 2)
|
||||
@FormField(R.string.experimental, FieldForm.GROUP,
|
||||
R.string.settings_related_to_development_server_be_careful_as_it_may_open_your_phone_to_security_vulnerabilities, 2)
|
||||
val experimentalSettings: ExperimentalFields = ExperimentalFields();
|
||||
@Serializable
|
||||
class ExperimentalFields {
|
||||
|
||||
@FormField("Background Subscription Testing", FieldForm.TOGGLE, "", 0)
|
||||
@FormField(R.string.background_subscription_testing, FieldForm.TOGGLE, -1, 0)
|
||||
@Serializable(with = FlexibleBooleanSerializer::class)
|
||||
var backgroundSubscriptionFetching: Boolean = false;
|
||||
}
|
||||
|
||||
@FormField("Crash Me", FieldForm.BUTTON,
|
||||
"Crashes the application on purpose", 2)
|
||||
@FormField(R.string.crash_me, FieldForm.BUTTON,
|
||||
R.string.crashes_the_application_on_purpose, 2)
|
||||
fun crashMe() {
|
||||
throw java.lang.IllegalStateException("This is an uncaught exception triggered on purpose!");
|
||||
}
|
||||
|
||||
@FormField("Delete Announcements", FieldForm.BUTTON,
|
||||
"Delete all announcements", 2)
|
||||
@FormField(R.string.delete_announcements, FieldForm.BUTTON,
|
||||
R.string.delete_all_announcements, 2)
|
||||
fun deleteAnnouncements() {
|
||||
StateAnnouncement.instance.deleteAllAnnouncements();
|
||||
}
|
||||
|
||||
@FormField("Clear Cookies", FieldForm.BUTTON,
|
||||
"Clear all cook from the CookieManager", 2)
|
||||
@FormField(R.string.clear_cookies, FieldForm.BUTTON,
|
||||
R.string.clear_all_cookies_from_the_cookieManager, 2)
|
||||
fun clearCookies() {
|
||||
val cookieManager: CookieManager = CookieManager.getInstance()
|
||||
cookieManager.removeAllCookies(null);
|
||||
|
@ -90,13 +90,13 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
|
||||
@Contextual
|
||||
@Transient
|
||||
@FormField("V8 Benchmarks", FieldForm.GROUP,
|
||||
"Various benchmarks using the integrated V8 engine", 3)
|
||||
@FormField(R.string.v8_benchmarks, FieldForm.GROUP,
|
||||
R.string.various_benchmarks_using_the_integrated_v8_engine, 3)
|
||||
val v8Benchmarks: V8Benchmarks = V8Benchmarks();
|
||||
class V8Benchmarks {
|
||||
@FormField(
|
||||
"Test V8 Creation speed", FieldForm.BUTTON,
|
||||
"Tests V8 creation times and running", 1
|
||||
R.string.test_v8_creation_speed, FieldForm.BUTTON,
|
||||
R.string.tests_v8_creation_times_and_running, 1
|
||||
)
|
||||
fun testV8Creation() {
|
||||
var plugin: V8Plugin? = null;
|
||||
|
@ -138,8 +138,8 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
}
|
||||
|
||||
@FormField(
|
||||
"Test V8 Communication speed", FieldForm.BUTTON,
|
||||
"Tests V8 communication speeds", 2
|
||||
R.string.test_v8_communication_speed, FieldForm.BUTTON,
|
||||
R.string.tests_v8_communication_speeds, 2
|
||||
)
|
||||
fun testV8RunSpeeds() {
|
||||
var plugin: V8Plugin? = null;
|
||||
|
@ -183,12 +183,12 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
|
||||
@Contextual
|
||||
@Transient
|
||||
@FormField("V8 Script Testing", FieldForm.GROUP, "Various tests against a custom source", 4)
|
||||
@FormField(R.string.v8_script_testing, FieldForm.GROUP, R.string.various_tests_against_a_custom_source, 4)
|
||||
val v8ScriptTests: V8ScriptTests = V8ScriptTests();
|
||||
class V8ScriptTests {
|
||||
@Contextual
|
||||
private var _currentPlugin : JSClient? = null;
|
||||
@FormField("Inject", FieldForm.BUTTON, "Injects a test source config (local) into V8", 1)
|
||||
@FormField(R.string.inject, FieldForm.BUTTON, R.string.injects_a_test_source_config_local_into_v8, 1)
|
||||
fun testV8Init() {
|
||||
StateApp.instance.scope.launch(Dispatchers.IO) {
|
||||
try {
|
||||
|
@ -204,7 +204,7 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
}
|
||||
}
|
||||
}
|
||||
@FormField("getHome", FieldForm.BUTTON, "Attempts to fetch 2 pages from getHome", 2)
|
||||
@FormField(R.string.getHome, FieldForm.BUTTON, R.string.attempts_to_fetch_2_pages_from_getHome, 2)
|
||||
fun testV8Home() {
|
||||
runTestPlugin(_currentPlugin) {
|
||||
var home: IPager<IPlatformContent>? = null;
|
||||
|
@ -270,10 +270,10 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
|
||||
@Contextual
|
||||
@Transient
|
||||
@FormField("Other", FieldForm.GROUP, "Others...", 5)
|
||||
@FormField(R.string.other, FieldForm.GROUP, R.string.others_ellipsis, 5)
|
||||
val otherTests: OtherTests = OtherTests();
|
||||
class OtherTests {
|
||||
@FormField("Unsubscribe all", FieldForm.BUTTON, "Removes all subscriptions", -1)
|
||||
@FormField(R.string.unsubscribe_all, FieldForm.BUTTON, R.string.removes_all_subscriptions, -1)
|
||||
fun unsubscribeAll() {
|
||||
val toUnsub = StateSubscriptions.instance.getSubscriptions();
|
||||
UIDialogs.toast("Started unsubbing.. (${toUnsub.size})")
|
||||
|
@ -282,24 +282,24 @@ class SettingsDev : FragmentedStorageFileJson() {
|
|||
};
|
||||
UIDialogs.toast("Finished unsubbing.. (${toUnsub.size})")
|
||||
}
|
||||
@FormField("Clear Downloads", FieldForm.BUTTON, "Deletes all ongoing downloads", 1)
|
||||
@FormField(R.string.clear_downloads, FieldForm.BUTTON, R.string.deletes_all_ongoing_downloads, 1)
|
||||
fun clearDownloads() {
|
||||
StateDownloads.instance.getDownloading().forEach {
|
||||
StateDownloads.instance.removeDownload(it);
|
||||
};
|
||||
}
|
||||
@FormField("Clear All Downloaded", FieldForm.BUTTON, "Deletes all downloaded videos and related files", 2)
|
||||
@FormField(R.string.clear_all_downloaded, FieldForm.BUTTON, R.string.deletes_all_downloaded_videos_and_related_files, 2)
|
||||
fun clearDownloaded() {
|
||||
StateDownloads.instance.getDownloadedVideos().forEach {
|
||||
StateDownloads.instance.deleteCachedVideo(it.id);
|
||||
};
|
||||
}
|
||||
@FormField("Delete Unresolved", FieldForm.BUTTON, "Deletes all unresolved source files", 3)
|
||||
@FormField(R.string.delete_unresolved, FieldForm.BUTTON, R.string.deletes_all_unresolved_source_files, 3)
|
||||
fun cleanupDownloads() {
|
||||
StateDownloads.instance.cleanupDownloads();
|
||||
}
|
||||
|
||||
@FormField("Fill storage till error", FieldForm.BUTTON, "Writes to disk till no space is left", 4)
|
||||
@FormField(R.string.fill_storage_till_error, FieldForm.BUTTON, R.string.writes_to_disk_till_no_space_is_left, 4)
|
||||
fun fillStorage(context: Context, scope: CoroutineScope?) {
|
||||
val gigabuffer = ByteArray(1024 * 1024 * 128);
|
||||
var count: Long = 0;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package com.futo.platformplayer.api.media.platforms.js
|
||||
|
||||
import com.futo.platformplayer.R
|
||||
import com.futo.platformplayer.constructs.Event0
|
||||
import com.futo.platformplayer.serializers.FlexibleBooleanSerializer
|
||||
import com.futo.platformplayer.views.fields.FieldForm
|
||||
|
@ -66,15 +67,15 @@ class SourcePluginDescriptor {
|
|||
@Serializable
|
||||
class AppPluginSettings {
|
||||
|
||||
@FormField("Visibility", "group", "Enable where this plugin's content are visible.", 2)
|
||||
@FormField(R.string.visibility, "group", R.string.enable_where_this_plugins_content_are_visible, 2)
|
||||
var tabEnabled = TabEnabled();
|
||||
@Serializable
|
||||
class TabEnabled {
|
||||
@FormField("Home", FieldForm.TOGGLE, "Show content in home tab", 1)
|
||||
@FormField(R.string.home, FieldForm.TOGGLE, R.string.show_content_in_home_tab, 1)
|
||||
var enableHome: Boolean? = null;
|
||||
|
||||
|
||||
@FormField("Search", FieldForm.TOGGLE, "Show content in search results", 2)
|
||||
@FormField(R.string.search, FieldForm.TOGGLE, R.string.show_content_in_search_results, 2)
|
||||
var enableSearch: Boolean? = null;
|
||||
}
|
||||
|
||||
|
|
|
@ -66,8 +66,8 @@ class ButtonField : BigButton, IField {
|
|||
val attrField = method.getAnnotation(FormField::class.java);
|
||||
val attrButtonField = method.getAnnotation(FormFieldButton::class.java);
|
||||
if(attrField != null) {
|
||||
super.withPrimaryText(attrField.title)
|
||||
.withSecondaryText(attrField.subtitle)
|
||||
super.withPrimaryText(context.getString(attrField.title))
|
||||
.withSecondaryText(if (attrField.subtitle != -1) context.getString(attrField.subtitle) else "")
|
||||
.withSecondaryTextMaxLines(2);
|
||||
descriptor = attrField;
|
||||
}
|
||||
|
|
|
@ -37,7 +37,7 @@ class DropdownField : TableRow, IField {
|
|||
|
||||
override val onChanged = Event2<IField, Any>();
|
||||
|
||||
constructor(context : Context, attrs : AttributeSet? = null) : super(context, attrs){
|
||||
constructor(context: Context, attrs: AttributeSet? = null) : super(context, attrs){
|
||||
inflate(context, R.layout.field_dropdown, this);
|
||||
_spinner = findViewById(R.id.field_spinner);
|
||||
_title = findViewById(R.id.field_title);
|
||||
|
@ -77,17 +77,17 @@ class DropdownField : TableRow, IField {
|
|||
return this;
|
||||
}
|
||||
|
||||
override fun fromField(obj : Any, field : Field, formField: FormField?) : DropdownField {
|
||||
override fun fromField(obj: Any, field: Field, formField: FormField?) : DropdownField {
|
||||
this._field = field;
|
||||
this._obj = obj;
|
||||
|
||||
val attrField = formField ?: field.getAnnotation(FormField::class.java);
|
||||
if(attrField != null) {
|
||||
_title.text = attrField.title;
|
||||
_title.text = context.getString(attrField.title);
|
||||
descriptor = attrField;
|
||||
|
||||
if(attrField.subtitle.isNotBlank()) {
|
||||
_description.text = attrField.subtitle;
|
||||
if(attrField.subtitle != -1) {
|
||||
_description.text = context.getString(attrField.subtitle);
|
||||
_description.visibility = View.VISIBLE;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -6,7 +6,7 @@ import java.lang.reflect.Field
|
|||
|
||||
@Target(AnnotationTarget.FIELD, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY)
|
||||
@Retention(AnnotationRetention.RUNTIME)
|
||||
annotation class FormField(val title : String, val type : String, val subtitle : String = "", val order : Int = 0, val id : String = "")
|
||||
annotation class FormField(val title: Int, val type: String, val subtitle: Int = -1, val order: Int = 0, val id: String = "")
|
||||
|
||||
interface IField {
|
||||
var descriptor: FormField?;
|
||||
|
|
|
@ -101,8 +101,8 @@ class GroupField : LinearLayout, IField {
|
|||
|
||||
val attrField = formField ?: field.getAnnotation(FormField::class.java); //TODO: Get this to work as default
|
||||
if(attrField != null) {
|
||||
_title.text = attrField.title;
|
||||
_subtitle.text = attrField.subtitle;
|
||||
_title.text = context.getString(attrField.title);
|
||||
_subtitle.text = if (attrField.subtitle != -1) context.getString(attrField.subtitle) else "";
|
||||
descriptor = attrField;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -42,7 +42,7 @@ class ReadOnlyTextField : TableRow, IField {
|
|||
|
||||
val attrField = formField ?: field.getAnnotation(FormField::class.java);
|
||||
if(attrField != null) {
|
||||
_title.text = attrField.title;
|
||||
_title.text = context.getString(attrField.title);
|
||||
descriptor = attrField;
|
||||
}
|
||||
else
|
||||
|
@ -60,7 +60,7 @@ class ReadOnlyTextField : TableRow, IField {
|
|||
|
||||
val attrField = formField ?: field.getAnnotation(FormField::class.java);
|
||||
if(attrField != null) {
|
||||
_title.text = attrField.title;
|
||||
_title.text = context.getString(attrField.title);
|
||||
descriptor = attrField;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -64,16 +64,16 @@ class ToggleField : TableRow, IField {
|
|||
|
||||
val attrField = formField ?: field.getAnnotation(FormField::class.java);
|
||||
if(attrField != null) {
|
||||
_title.text = attrField.title;
|
||||
_title.text = context.getString(attrField.title);
|
||||
descriptor = attrField;
|
||||
}
|
||||
else
|
||||
_title.text = field.name;
|
||||
|
||||
if(attrField?.subtitle?.isEmpty() != false)
|
||||
if(attrField == null || attrField.subtitle == -1)
|
||||
_description.visibility = View.GONE;
|
||||
else {
|
||||
_description.text = attrField.subtitle;
|
||||
_description.text = context.getString(attrField.subtitle);
|
||||
_description.visibility = View.VISIBLE;
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
android:textColor="@color/white"
|
||||
android:layout_marginTop="20dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Permissions" />
|
||||
android:text="@string/permissions" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -120,14 +120,14 @@
|
|||
android:textColor="@color/white"
|
||||
android:layout_marginTop="20dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Security Warnings" />
|
||||
android:text="@string/security_warnings" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:textColor="@color/text_color_tinted"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="These are warnings of plugin behavior and implementation" />
|
||||
android:text="@string/these_are_warnings_of_plugin_behavior_and_implementation" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/source_warnings"
|
||||
|
@ -141,8 +141,6 @@
|
|||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -187,9 +185,6 @@
|
|||
android:paddingEnd="28dp"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
||||
</LinearLayout>
|
|
@ -52,8 +52,8 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
app:buttonText="Install by QR"
|
||||
app:buttonSubText="Install a plugin by scanning a QR code"
|
||||
app:buttonText="@string/install_by_qr"
|
||||
app:buttonSubText="@string/install_a_plugin_by_scanning_a_qr_code"
|
||||
app:buttonIcon="@drawable/ic_qr" />
|
||||
<com.futo.platformplayer.views.buttons.BigButton
|
||||
android:id="@+id/option_url"
|
||||
|
@ -62,7 +62,7 @@
|
|||
android:alpha="0.5"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
app:buttonText="Install by URL"
|
||||
app:buttonText="@string/install_by_url"
|
||||
app:buttonSubText="@string/enter_url_explain"
|
||||
app:buttonIcon="@drawable/ic_link" />
|
||||
</LinearLayout>
|
|
@ -16,7 +16,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="Please enter the captcha and close when finished" />
|
||||
android:text="@string/please_enter_the_captcha_and_close_when_finished" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_close"
|
||||
|
@ -24,7 +24,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="6dp"
|
||||
android:text="CLOSE" />
|
||||
android:text="@string/close_capitalized" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:textSize="17dp"
|
||||
android:text="An uncaught exception was thrown, we're sorry for the inconvenience." />
|
||||
android:text="@string/an_uncaught_exception_was_thrown_we_re_sorry_for_the_inconvenience" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -58,7 +58,7 @@
|
|||
android:layout_marginTop="2dp"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:text="To help us solve this, please share the below crash report with us, and perhaps adds some context on what you were doing." />
|
||||
android:text="@string/to_help_us_solve_this_please_share_the_below_crash_report_with_us_and_perhaps_adds_some_context_on_what_you_were_doing" />
|
||||
</LinearLayout>
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
|
@ -98,7 +98,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Share"/>
|
||||
android:text="@string/share"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -113,7 +113,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Submit"/>
|
||||
android:text="@string/submit"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -128,7 +128,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Restart"/>
|
||||
android:text="@string/restart"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -143,7 +143,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Close"/>
|
||||
android:text="@string/close"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -32,7 +32,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Manage Tabs"
|
||||
android:text="@string/manage_tabs"
|
||||
android:textSize="24dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_extra_light" />
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
android:id="@+id/text_qr"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Scan to import"
|
||||
android:text="@string/scan_to_import"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="32dp"
|
||||
android:layout_marginTop="12dp"
|
||||
|
@ -61,16 +61,16 @@
|
|||
android:id="@+id/button_share"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Share"
|
||||
app:buttonSubText="Send your identity to another app"
|
||||
app:buttonText="@string/share"
|
||||
app:buttonSubText="@string/send_your_identity_to_another_app"
|
||||
app:buttonIcon="@drawable/ic_share" />
|
||||
|
||||
<com.futo.platformplayer.views.buttons.BigButton
|
||||
android:id="@+id/button_copy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Copy"
|
||||
app:buttonSubText="Copy your identity to clipboard"
|
||||
app:buttonText="@string/copy"
|
||||
app:buttonSubText="@string/copy_your_identity_to_clipboard"
|
||||
app:buttonIcon="@drawable/ic_copy"
|
||||
android:layout_marginTop="8dp" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
android:id="@+id/text_polycentric"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Polycentric"
|
||||
android:text="@string/polycentric"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="32dp"
|
||||
android:layout_marginTop="12dp"
|
||||
|
@ -49,7 +49,7 @@
|
|||
android:id="@+id/text_profile_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Profile Name"
|
||||
android:text="@string/profile_name"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="16dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
|
@ -60,7 +60,7 @@
|
|||
android:id="@+id/edit_profile_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="This will be visible to other users"
|
||||
android:hint="@string/this_will_be_visible_to_other_users"
|
||||
android:layout_marginStart="40dp"
|
||||
android:layout_marginEnd="40dp"
|
||||
android:layout_marginTop="60dp"
|
||||
|
@ -90,7 +90,7 @@
|
|||
android:fontFamily="@font/inter_light"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16dp"
|
||||
android:text="Create Profile" />
|
||||
android:text="@string/create_profile" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -37,7 +37,7 @@
|
|||
android:id="@+id/text_polycentric"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Polycentric"
|
||||
android:text="@string/polycentric"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="32dp"
|
||||
android:layout_marginTop="12dp"
|
||||
|
@ -61,16 +61,16 @@
|
|||
android:id="@+id/button_new_profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="New Profile"
|
||||
app:buttonSubText="Generate a new identity"
|
||||
app:buttonText="@string/new_profile"
|
||||
app:buttonSubText="@string/generate_a_new_identity"
|
||||
app:buttonIcon="@drawable/ic_person_add" />
|
||||
|
||||
<com.futo.platformplayer.views.buttons.BigButton
|
||||
android:id="@+id/button_import_profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Import Existing Profile"
|
||||
app:buttonSubText="Use an existing identity"
|
||||
app:buttonText="@string/import_existing_profile"
|
||||
app:buttonSubText="@string/use_an_existing_identity"
|
||||
app:buttonIcon="@drawable/ic_arrow_downward"
|
||||
android:layout_marginTop="8dp" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -42,14 +42,14 @@
|
|||
android:fontFamily="@font/inter_light"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16dp"
|
||||
android:text="Scan QR" />
|
||||
android:text="@string/scan_qr" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_or"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="OR"
|
||||
android:text="@string/or_capitalized"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="28dp"
|
||||
android:layout_marginTop="30dp"
|
||||
|
@ -61,7 +61,7 @@
|
|||
android:id="@+id/edit_profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="Paste profile here polycentric://..."
|
||||
android:hint="@string/paste_profile_here_polycentric"
|
||||
android:layout_marginStart="40dp"
|
||||
android:layout_marginEnd="40dp"
|
||||
android:layout_marginTop="30dp"
|
||||
|
@ -91,7 +91,7 @@
|
|||
android:fontFamily="@font/inter_light"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16dp"
|
||||
android:text="Import Profile" />
|
||||
android:text="@string/import_profile" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -67,8 +67,8 @@
|
|||
android:id="@+id/button_export"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Export"
|
||||
app:buttonSubText="Make a backup of your identity"
|
||||
app:buttonText="@string/export"
|
||||
app:buttonSubText="@string/make_a_backup_of_your_identity"
|
||||
app:buttonIcon="@drawable/ic_export"
|
||||
android:layout_marginTop="8dp" />
|
||||
|
||||
|
@ -76,8 +76,8 @@
|
|||
android:id="@+id/button_logout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Logout"
|
||||
app:buttonSubText="Sign out of this identity"
|
||||
app:buttonText="@string/logout"
|
||||
app:buttonSubText="@string/sign_out_of_this_identity"
|
||||
app:buttonIcon="@drawable/ic_logout"
|
||||
android:layout_marginTop="8dp" />
|
||||
|
||||
|
@ -85,8 +85,8 @@
|
|||
android:id="@+id/button_delete"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Delete"
|
||||
app:buttonSubText="Delete this profile"
|
||||
app:buttonText="@string/delete"
|
||||
app:buttonSubText="@string/delete_this_profile"
|
||||
app:buttonIcon="@drawable/ic_trash"
|
||||
android:layout_marginTop="8dp"
|
||||
app:buttonBackground="@drawable/background_big_button_red"/>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
android:id="@+id/text_polycentric"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Polycentric"
|
||||
android:text="@string/polycentric"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="32dp"
|
||||
android:layout_marginLeft="16dp"/>
|
||||
|
@ -96,16 +96,16 @@
|
|||
android:id="@+id/button_video"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Video"
|
||||
app:buttonSubText="View a more in-depth video"
|
||||
app:buttonText="@string/video"
|
||||
app:buttonSubText="@string/view_a_more_in_depth_video"
|
||||
app:buttonIcon="@drawable/ic_smart_display" />
|
||||
|
||||
<com.futo.platformplayer.views.buttons.BigButton
|
||||
android:id="@+id/button_technical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonText="Technical Documentation"
|
||||
app:buttonSubText="View the technical documentation"
|
||||
app:buttonText="@string/technical_documentation"
|
||||
app:buttonSubText="@string/view_the_technical_documentation"
|
||||
app:buttonIcon="@drawable/ic_wrench"
|
||||
android:layout_marginTop="8dp" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -76,12 +76,12 @@
|
|||
android:textSize="14dp"
|
||||
android:textAlignment="center"
|
||||
android:layout_margin="5dp"
|
||||
android:text="You're apparantly a developer" />
|
||||
android:text="@string/you_re_apparantly_a_developer" />
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_dev"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Developer Settings" />
|
||||
android:text="@string/developer_settings" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
android:id="@+id/header_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Migration"
|
||||
android:text="@string/migration"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="18dp"
|
||||
android:layout_marginTop="12dp"
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Set a password for your daily backup"
|
||||
android:text="@string/set_a_password_for_your_daily_backup"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -53,7 +53,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:textColor="#AAAAAA"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Set a password used to encrypt your daily backup that is written to external storage."
|
||||
android:text="@string/set_a_password_used_to_encrypt_your_daily_backup_that_is_written_to_external_storage"
|
||||
android:textAlignment="center"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
|
@ -70,7 +70,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:inputType="textPassword"
|
||||
android:hint="Backup Password" />
|
||||
android:hint="@string/backup_password" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -96,7 +96,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Stop"
|
||||
android:text="@string/stop"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -117,7 +117,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Start"
|
||||
android:text="@string/start"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Restore from Automatic Backup"
|
||||
android:text="@string/restore_from_automatic_backup"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -36,7 +36,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:textColor="#AAAAAA"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="It appears an automatic backup exists on your device, if you would like to restore, enter your backup password."
|
||||
android:text="@string/it_appears_an_automatic_backup_exists_on_your_device_if_you_would_like_to_restore_enter_your_backup_password"
|
||||
android:textAlignment="center"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
|
@ -53,7 +53,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:inputType="textPassword"
|
||||
android:singleLine="true"
|
||||
android:hint="Backup Password" />
|
||||
android:hint="@string/backup_password" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -71,7 +71,7 @@
|
|||
android:id="@+id/button_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cancel"
|
||||
android:text="@string/cancel"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -88,7 +88,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Restore"
|
||||
android:text="@string/restore"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -29,13 +29,13 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:hint="Name" />
|
||||
android:hint="@string/name" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_ip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="IP"
|
||||
android:hint="@string/ip"
|
||||
android:singleLine="true"
|
||||
android:layout_marginTop="5dp"/>
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
|||
android:id="@+id/edit_port"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="Port"
|
||||
android:hint="@string/port"
|
||||
android:singleLine="true"
|
||||
android:layout_marginTop="5dp"/>
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="Error message here"/>
|
||||
android:text="@string/error_message_here"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
android:id="@+id/text_devices"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Discovered Devices"
|
||||
android:text="@string/discovered_devices"
|
||||
android:layout_marginStart="20dp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
|
@ -39,7 +39,7 @@
|
|||
android:id="@+id/button_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Close"
|
||||
android:text="@string/close"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -83,7 +83,7 @@
|
|||
android:id="@+id/text_remembered_devices"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Remembered Devices"
|
||||
android:text="@string/remembered_devices"
|
||||
android:layout_marginStart="20dp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
|
@ -97,7 +97,7 @@
|
|||
android:id="@+id/button_add"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Add"
|
||||
android:text="@string/add"
|
||||
android:textSize="14dp"
|
||||
android:textAlignment="textEnd"
|
||||
android:layout_marginEnd="2dp"
|
||||
|
@ -117,7 +117,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="10dp"
|
||||
android:text="There are no remembered devices"
|
||||
android:text="@string/there_are_no_remembered_devices"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginStart="20dp"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
android:id="@+id/text_devices"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Connected to"
|
||||
android:text="@string/connected_to"
|
||||
android:layout_marginStart="20dp"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
|
@ -39,7 +39,7 @@
|
|||
android:id="@+id/button_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Close"
|
||||
android:text="@string/close"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -131,7 +131,7 @@
|
|||
android:id="@+id/text_volume"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Volume"
|
||||
android:text="@string/volume"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular" />
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -16,7 +17,7 @@
|
|||
|
||||
<TextView android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Changelog"
|
||||
android:text="@string/changelog"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_medium"
|
||||
|
@ -25,7 +26,7 @@
|
|||
<TextView android:id="@+id/text_version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="100"
|
||||
tools:text="100"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/gray_67"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -43,7 +44,7 @@
|
|||
<TextView android:id="@+id/text_changelog"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:text="Some example changelog."
|
||||
android:text="@string/some_example_changelog"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/white" />
|
||||
|
@ -65,7 +66,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:text="Previous"
|
||||
android:text="@string/previous"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/gray_e0"
|
||||
|
@ -75,7 +76,7 @@
|
|||
android:id="@+id/button_next"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Next"
|
||||
android:text="@string/next"
|
||||
android:layout_gravity="end"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -39,7 +39,7 @@
|
|||
android:id="@+id/character_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="0"
|
||||
tools:text="0"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -49,7 +49,7 @@
|
|||
android:id="@+id/character_count_max"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="/2000"
|
||||
tools:text="/2000"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular" />
|
||||
|
@ -63,7 +63,7 @@
|
|||
android:id="@+id/button_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cancel"
|
||||
android:text="@string/cancel"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -80,7 +80,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Comment"
|
||||
android:text="@string/comment"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -36,7 +36,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:textColor="#AAAAAA"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="This is a test"
|
||||
tools:text="This is a test"
|
||||
android:textAlignment="center"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -45,7 +45,7 @@
|
|||
android:id="@+id/text_progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="10/100"
|
||||
tools:text="10/100"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
|
@ -56,7 +56,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Import"
|
||||
android:text="@string/str_import"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
|
@ -67,7 +67,7 @@
|
|||
android:id="@+id/import_name_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="My Playlist Name"
|
||||
android:text="@string/my_playlist_name"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:id="@+id/import_type_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Playlists"
|
||||
android:text="@string/playlists"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
@ -94,7 +94,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Do you want to import this store?"
|
||||
android:text="@string/do_you_want_to_import_this_store"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -106,7 +106,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Sources required need to be enabled"
|
||||
android:text="@string/sources_required_need_to_be_enabled"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -130,7 +130,7 @@
|
|||
android:id="@+id/button_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cancel"
|
||||
android:text="@string/cancel"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -147,7 +147,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Import"
|
||||
android:text="@string/str_import"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -178,7 +178,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Restored 7 items"
|
||||
tools:text="Restored 7 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -189,7 +189,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="(7 failed)"
|
||||
tools:text="(7 failed)"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular" />
|
||||
|
@ -199,7 +199,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="textStart"
|
||||
android:text="Failed to restore 2 items"
|
||||
tools:text="Failed to restore 2 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -215,7 +215,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Required plugin for 1 items"
|
||||
tools:text="Required plugin for 1 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#FFA500"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -238,7 +238,7 @@
|
|||
android:id="@+id/button_retry"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Retry"
|
||||
android:text="@string/retry"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -248,7 +248,7 @@
|
|||
android:id="@+id/button_cancel_import"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Cancel"
|
||||
android:text="@string/cancel"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/pastel_red"
|
||||
|
@ -265,7 +265,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ok"
|
||||
android:text="@string/ok"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -45,7 +45,7 @@
|
|||
android:id="@+id/text_progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="10/100"
|
||||
tools:text="10/100"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
|
@ -56,7 +56,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Migration"
|
||||
android:text="@string/migration"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
|
@ -67,7 +67,7 @@
|
|||
android:id="@+id/migrate_type_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Playlists"
|
||||
android:text="@string/playlists"
|
||||
android:textSize="18sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:id="@+id/migrate_count_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="10 items"
|
||||
tools:text="10 items"
|
||||
android:textSize="15sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
@ -94,7 +94,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Items require migration or are corrupted, would you like to restore them from backup now?"
|
||||
android:text="@string/items_require_migration_or_are_corrupted_would_you_like_to_restore_them_from_backup_now"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -105,7 +105,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="If ignored you will be asked again next startup."
|
||||
android:text="@string/if_ignored_you_will_be_asked_again_next_startup"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
@ -117,7 +117,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Sources required need to be enabled"
|
||||
android:text="@string/sources_required_need_to_be_enabled"
|
||||
android:textSize="13sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -141,7 +141,7 @@
|
|||
android:id="@+id/button_ignore"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ignore"
|
||||
android:text="@string/ignore"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -152,7 +152,7 @@
|
|||
android:id="@+id/button_delete"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Delete"
|
||||
android:text="@string/delete"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/pastel_red"
|
||||
|
@ -169,7 +169,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Restore"
|
||||
android:text="@string/restore"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -200,7 +200,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Restored 7 items"
|
||||
tools:text="Restored 7 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -211,7 +211,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="(7 failed)"
|
||||
tools:text="(7 failed)"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular" />
|
||||
|
@ -221,7 +221,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="textStart"
|
||||
android:text="Failed to restore 2 items"
|
||||
tools:text="Failed to restore 2 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/pastel_red"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -238,7 +238,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:text="Required plugin for 1 items"
|
||||
tools:text="Required plugin for 1 items"
|
||||
android:textSize="14sp"
|
||||
android:textColor="#FFA500"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -261,7 +261,7 @@
|
|||
android:id="@+id/button_retry"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Retry"
|
||||
android:text="@string/retry"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -271,7 +271,7 @@
|
|||
android:id="@+id/button_delete_failed"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Delete"
|
||||
android:text="@string/delete"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/pastel_red"
|
||||
|
@ -288,7 +288,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Ok"
|
||||
android:text="@string/ok"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
@ -57,7 +58,8 @@
|
|||
android:padding="5dp"
|
||||
android:background="#111111"
|
||||
android:textSize="8dp"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="HardcodedText" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/dialog_buttons"
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
android:id="@+id/button_show_changelog"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="View changelog"
|
||||
android:text="@string/view_changelog"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:padding="10dp"
|
||||
|
@ -12,12 +13,12 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:text="SomeDescriptor" />
|
||||
tools:text="SomeDescriptor" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/field_subtitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#888888"
|
||||
android:text="Some descriptor for button"/>
|
||||
tools:text="Some descriptor for button"/>
|
||||
</LinearLayout>
|
|
@ -30,7 +30,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="15dp"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:text="UNDER"
|
||||
android:text="@string/under"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="3dp" />
|
||||
<TextView
|
||||
|
@ -38,7 +38,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="20dp"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:text="CONSTRUCTION"
|
||||
android:text="@string/construction"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="-8dp"/>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ScrollView
|
||||
|
@ -76,7 +76,7 @@
|
|||
android:id="@+id/button_buy_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="$9.99"
|
||||
tools:text="$9.99"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -98,7 +98,7 @@
|
|||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="I Already Paid"
|
||||
android:text="@string/i_already_paid"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
android:layout_marginEnd="8dp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
android:text="17 videos"
|
||||
tools:text="17 videos"
|
||||
app:layout_constraintLeft_toRightOf="@id/creator_thumbnail"
|
||||
app:layout_constraintRight_toLeftOf="@id/button_subscribe"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:buttonIcon="@drawable/ic_store"
|
||||
app:buttonText="Store"
|
||||
app:buttonSubText="Visit my store" />
|
||||
app:buttonText="@string/store"
|
||||
app:buttonSubText="@string/visit_my_store" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -27,7 +27,7 @@
|
|||
android:textSize="16dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Memberships" />
|
||||
android:text="@string/memberships" />
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -41,7 +41,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="#909090"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="A monthly recurring payment with often " />
|
||||
android:text="@string/a_monthly_recurring_payment_with_often" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -49,7 +49,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="#909090"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:text="additional perks." />
|
||||
android:text="@string/additional_perks" />
|
||||
</com.google.android.flexbox.FlexboxLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -68,7 +68,7 @@
|
|||
android:textSize="16dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Donation"
|
||||
android:text="@string/donation"
|
||||
android:layout_marginTop="20dp"/>
|
||||
|
||||
<TextView
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="#909090"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="A one-time payment to support the creator" />
|
||||
android:text="@string/a_one_time_payment_to_support_the_creator" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
|
@ -11,6 +11,6 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="TODO" />
|
||||
tools:text="TODO" />
|
||||
|
||||
</FrameLayout>
|
|
@ -43,7 +43,7 @@
|
|||
android:textColor="#E0E0E0"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="11dp"
|
||||
android:text="5.64GB Used" />
|
||||
tools:text="5.64GB Used" />
|
||||
<TextView
|
||||
android:id="@+id/downloads_usage_available"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -53,7 +53,7 @@
|
|||
android:layout_gravity="end"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="11dp"
|
||||
android:text="13.32GB Available" />
|
||||
tools:text="13.32GB Available" />
|
||||
</LinearLayout>
|
||||
|
||||
<com.futo.platformplayer.views.announcements.AnnouncementView
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="18dp"
|
||||
android:textColor="@color/white"
|
||||
android:text="Downloading"
|
||||
android:text="@string/downloading"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/downloads_active_downloads_meta"
|
||||
|
@ -87,7 +87,7 @@
|
|||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textColor="#ACACAC"
|
||||
android:textSize="15dp"
|
||||
android:text="(5)"
|
||||
tools:text="(5)"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
|
@ -115,7 +115,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="18dp"
|
||||
android:textColor="@color/white"
|
||||
android:text="Playlists"
|
||||
android:text="@string/playlists"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/downloads_playlist_meta"
|
||||
|
@ -125,7 +125,7 @@
|
|||
android:textSize="15dp"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textColor="#ACACAC"
|
||||
android:text="(7 playlists, 85 videos)"
|
||||
tools:text="(7 playlists, 85 videos)"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
|
@ -148,7 +148,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="18dp"
|
||||
android:textColor="@color/white"
|
||||
android:text="Videos" />
|
||||
android:text="@string/videos" />
|
||||
<TextView
|
||||
android:id="@+id/downloads_videos_meta"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -157,7 +157,7 @@
|
|||
android:textSize="15dp"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textColor="#ACACAC"
|
||||
android:text="(12 videos)" />
|
||||
tools:text="(12 videos)" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
android:id="@+id/text_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Clear history"
|
||||
android:text="@string/clear_history"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="15dp"
|
||||
android:text="Nothing to import"
|
||||
android:text="@string/nothing_to_import"
|
||||
android:textColor="@color/white"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
android:textSize="20dp"
|
||||
android:textColor="@color/gray_67"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="Import"
|
||||
android:text="@string/str_import"
|
||||
android:paddingRight="16dp" />
|
||||
|
||||
</LinearLayout>
|
|
@ -43,7 +43,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="15dp"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:text="UNDER"
|
||||
android:text="@string/under"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="3dp" />
|
||||
<TextView
|
||||
|
@ -51,7 +51,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="20dp"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:text="CONSTRUCTION"
|
||||
android:text="@string/construction"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="-8dp"/>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -107,7 +107,7 @@
|
|||
android:textColor="#939393"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Enabling lots of sources can reduce the loading speed of your application."
|
||||
android:text="@string/enabling_lots_of_sources_can_reduce_the_loading_speed_of_your_application"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="8dp"/>
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10dp" />
|
||||
|
||||
|
@ -154,7 +154,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="10dp" />
|
||||
</LinearLayout>
|
||||
|
@ -230,7 +230,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Support"
|
||||
android:text="@string/support"
|
||||
android:textSize="14dp"
|
||||
android:includeFontPadding="false"
|
||||
android:layout_marginStart="6dp" />
|
||||
|
@ -256,7 +256,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Store"
|
||||
android:text="@string/store"
|
||||
android:textSize="14dp"
|
||||
android:includeFontPadding="false"
|
||||
android:layout_marginStart="6dp" />
|
||||
|
@ -327,7 +327,7 @@
|
|||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:text="Polycentric"
|
||||
android:text="@string/polycentric"
|
||||
android:layout_marginEnd="8dp" />
|
||||
|
||||
<com.futo.platformplayer.views.others.Toggle
|
||||
|
|
|
@ -146,7 +146,7 @@
|
|||
android:id="@+id/text_resume"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Resume at 00:00"
|
||||
tools:text="Resume at 00:00"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light" />
|
||||
</LinearLayout>
|
||||
|
@ -198,7 +198,7 @@
|
|||
android:fontFamily="@font/inter_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="17dp"
|
||||
android:text="Some Text"
|
||||
tools:text="Some Text"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/layout_title_right"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
@ -211,7 +211,7 @@
|
|||
android:fontFamily="@font/inter_regular"
|
||||
android:textColor="#ACACAC"
|
||||
android:textSize="10dp"
|
||||
android:text="51K views - 3 years ago"
|
||||
tools:text="51K views - 3 years ago"
|
||||
app:layout_constraintLeft_toLeftOf="@id/videodetail_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/videodetail_title"
|
||||
app:layout_constraintRight_toLeftOf="@id/layout_title_right"/>
|
||||
|
@ -258,7 +258,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="4dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="#ACACAC"
|
||||
android:textSize="10dp" />
|
||||
</LinearLayout>
|
||||
|
@ -281,7 +281,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="4dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="#ACACAC"
|
||||
android:textSize="10dp" />
|
||||
</LinearLayout>
|
||||
|
@ -447,7 +447,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Support"
|
||||
android:text="@string/support"
|
||||
android:textSize="14dp"
|
||||
android:includeFontPadding="false"
|
||||
android:layout_marginStart="6dp" />
|
||||
|
@ -473,7 +473,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textAppearance="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Store"
|
||||
tools:text="Store"
|
||||
android:textSize="14dp"
|
||||
android:includeFontPadding="false"
|
||||
android:layout_marginStart="6dp" />
|
||||
|
@ -494,7 +494,7 @@
|
|||
android:layout_margin="15dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Live Chat" />
|
||||
android:text="@string/live_chat" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -526,7 +526,7 @@
|
|||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:text="Polycentric"
|
||||
android:text="@string/polycentric"
|
||||
android:layout_marginEnd="8dp" />
|
||||
|
||||
<com.futo.platformplayer.views.others.Toggle
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="$100" />
|
||||
tools:text="$100" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp" />
|
||||
|
||||
|
@ -125,7 +125,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
android:textSize="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Remove" />
|
||||
android:text="@string/remove" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="10dp"
|
||||
android:text="\?"
|
||||
tools:text="\?"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -76,7 +76,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="10dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="10dp"
|
||||
android:text="\?"
|
||||
tools:text="\?"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -76,7 +76,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="10dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="80dp"
|
||||
|
@ -24,7 +25,7 @@
|
|||
android:id="@+id/downloaded_playlist_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Testing"
|
||||
tools:text="Testing"
|
||||
android:textColor="@color/white"
|
||||
android:textAlignment="center"
|
||||
android:singleLine="true"
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="8dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Playlist"
|
||||
android:text="@string/playlist"
|
||||
android:layout_marginStart="8dp"/>
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
|
@ -72,7 +72,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="8dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text=" Videos"
|
||||
android:text="@string/space_videos"
|
||||
android:layout_marginRight="10dp"
|
||||
android:textColor="@color/gray_7f" />
|
||||
</LinearLayout>
|
||||
|
@ -122,7 +122,7 @@
|
|||
android:id="@+id/image_neopass_channel"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:contentDescription="NeoPass channel"
|
||||
android:contentDescription="@string/neopass_channel"
|
||||
app:srcCompat="@drawable/neopass"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_channel_name"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
|
|
@ -75,7 +75,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Playlist"
|
||||
android:text="@string/playlist"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textColor="@color/gray_e0"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
@ -88,7 +88,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text=" Videos"
|
||||
android:text="@string/space_videos"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:textColor="@color/gray_7f"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
android:layout_height="10dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:contentDescription="NeoPass channel"
|
||||
android:contentDescription="@string/neopass_channel"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_author_name"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_author_name"
|
||||
|
@ -165,7 +165,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp" />
|
||||
|
||||
|
@ -183,7 +183,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="500K"
|
||||
tools:text="500K"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp" />
|
||||
</LinearLayout>
|
||||
|
@ -212,7 +212,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="55"
|
||||
tools:text="55"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="13dp" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
android:layout_height="10dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:contentDescription="NeoPass channel"
|
||||
android:contentDescription="@string/neopass_channel"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_author_name"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_author_name"
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
android:id="@+id/text_source_subtitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Under Construction"
|
||||
android:text="@string/under_construction"
|
||||
android:textSize="12dp"
|
||||
android:textColor="@color/gray_ac"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
|
@ -77,7 +77,7 @@
|
|||
android:textSize="12dp"
|
||||
android:textColor="#AAAAAA"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Enable" />
|
||||
android:text="@string/enable" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -77,7 +77,7 @@
|
|||
android:textSize="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Enable" />
|
||||
android:text="@string/enable" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -87,7 +87,7 @@
|
|||
android:textSize="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Disable" />
|
||||
android:text="@string/disable" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
android:includeFontPadding="false"
|
||||
android:paddingLeft="2dp"
|
||||
android:paddingRight="2dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:textStyle="normal" />
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -132,7 +132,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="50dp"
|
||||
android:layout_weight="1"
|
||||
android:text="The following content cannot be opened in Grayjay due to a missing plugin."
|
||||
android:text="@string/the_following_content_cannot_be_opened_in_grayjay_due_to_a_missing_plugin"
|
||||
android:textAlignment="center" />
|
||||
<TextView
|
||||
android:id="@+id/text_nested_url"
|
||||
|
@ -140,14 +140,14 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textColor="#828EFF"
|
||||
android:layout_weight="1"
|
||||
android:text="Unknown"
|
||||
android:text="@string/unknown"
|
||||
android:textAlignment="center" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="50dp"
|
||||
android:layout_weight="1"
|
||||
android:text="Tap to open in browser"
|
||||
android:text="@string/tap_to_open_in_browser"
|
||||
android:textAlignment="center" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -222,7 +222,7 @@
|
|||
android:id="@+id/image_neopass_channel"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:contentDescription="NeoPass channel"
|
||||
android:contentDescription="@string/neopass_channel"
|
||||
app:srcCompat="@drawable/neopass"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_channel_name"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="0:00"
|
||||
tools:text="0:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -140,7 +140,7 @@
|
|||
android:layout_weight="1"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="10dp"
|
||||
android:text="Missing Plugin"
|
||||
android:text="@string/missing_plugin"
|
||||
android:textAlignment="center" />
|
||||
<TextView
|
||||
android:id="@+id/text_nested_url"
|
||||
|
@ -149,7 +149,7 @@
|
|||
android:textColor="#828EFF"
|
||||
android:layout_weight="1"
|
||||
android:textSize="10dp"
|
||||
android:text="Unknown"
|
||||
android:text="@string/unknown"
|
||||
android:textAlignment="center" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
|
@ -157,7 +157,7 @@
|
|||
android:layout_marginBottom="10dp"
|
||||
android:textSize="10dp"
|
||||
android:layout_weight="1"
|
||||
android:text="Tap to open in browser"
|
||||
android:text="@string/tap_to_open_in_browser"
|
||||
android:textAlignment="center" />
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
@ -264,7 +264,7 @@
|
|||
android:id="@+id/image_neopass_channel"
|
||||
android:layout_width="10dp"
|
||||
android:layout_height="10dp"
|
||||
android:contentDescription="NeoPass channel"
|
||||
android:contentDescription="@string/neopass_channel"
|
||||
app:srcCompat="@drawable/neopass"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_channel_name"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_margin="10dp"
|
||||
android:text="Live Chat" />
|
||||
android:text="@string/live_chat" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ic_viewers"
|
||||
|
@ -44,7 +44,7 @@
|
|||
android:textSize="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_name"
|
||||
app:layout_constraintLeft_toRightOf="@id/ic_viewers"
|
||||
android:text="1536 viewers"/>
|
||||
tools:text="1536 viewers"/>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
|
@ -141,7 +141,7 @@
|
|||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:textSize="15sp"
|
||||
android:text="Louis Rossmann" />
|
||||
tools:text="Louis Rossmann" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/donation_amount_container"
|
||||
|
@ -161,7 +161,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:text="$100" />
|
||||
tools:text="$100" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
|
@ -173,7 +173,7 @@
|
|||
app:layout_constraintRight_toRightOf="@id/donation_amount_container"
|
||||
android:layout_margin="10dp"
|
||||
android:textColor="#838383"
|
||||
android:text="@string/lorem_ipsum"/>
|
||||
tools:text="@string/lorem_ipsum"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/donation_source"
|
||||
|
@ -182,7 +182,7 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/donation_text"
|
||||
app:layout_constraintLeft_toLeftOf="@id/donation_author_image"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:text="Source: Somesite"
|
||||
tools:text="Source: Somesite"
|
||||
android:paddingBottom="10dp"
|
||||
android:textSize="12sp"
|
||||
android:textColor="#4F4B4B"
|
||||
|
@ -211,7 +211,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:textColor="#737070"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:text="Viewers are raiding"
|
||||
android:text="@string/viewers_are_raiding"
|
||||
android:gravity="center"
|
||||
android:paddingTop="20dp"
|
||||
android:paddingBottom="10dp"/>
|
||||
|
@ -241,7 +241,7 @@
|
|||
app:layout_constraintLeft_toRightOf="@id/raid_thumbnail"
|
||||
app:layout_constraintTop_toBottomOf="@id/textRaidMessage"
|
||||
android:textSize="15sp"
|
||||
android:text="Louis Rossmann" />
|
||||
tools:text="Louis Rossmann" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -263,7 +263,7 @@
|
|||
android:layout_marginStart="20dp"
|
||||
android:backgroundTint="#2F2F2F"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:text="Go now"/>
|
||||
android:text="@string/go_now"/>
|
||||
<Button
|
||||
android:id="@+id/raid_button_prevent"
|
||||
android:layout_width="0dp"
|
||||
|
@ -276,7 +276,7 @@
|
|||
android:layout_marginStart="5dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:backgroundTint="#481414"
|
||||
android:text="Prevent"/>
|
||||
android:text="@string/prevent"/>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
android:layout_weight="1"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="16dp"
|
||||
android:text="Add to"
|
||||
android:text="@string/add_to"
|
||||
android:textColor="@color/white"/>
|
||||
|
||||
<TextView
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
@ -10,7 +11,7 @@
|
|||
android:id="@+id/slide_up_menu_group_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Recently Used Playlist"
|
||||
tools:text="Recently Used Playlist"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_semibold"
|
||||
android:textSize="11dp" />
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/background_slide_up_option"
|
||||
android:id="@+id/slide_up_menu_item_root"
|
||||
|
@ -22,7 +23,7 @@
|
|||
android:gravity="center_vertical"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_marginLeft="45dp"
|
||||
android:text="Cat videos"
|
||||
tools:text="Cat videos"
|
||||
android:textSize="11dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
@ -34,7 +35,7 @@
|
|||
android:gravity="center_vertical"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginRight="15dp"
|
||||
android:text="3 videos"
|
||||
tools:text="3 videos"
|
||||
android:textSize="11dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
android:id="@+id/slide_up_menu_group_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Recently Used Playlist"
|
||||
android:text="@string/recently_used_playlist"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_semibold"
|
||||
android:textSize="11dp" />
|
||||
|
|
|
@ -1,327 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/background_button_black"
|
||||
android:padding="10dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_license_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="14dp"
|
||||
android:text="License email"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_email_subtext"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textSize="12dp"
|
||||
android:textColor="#999999"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="Required to send the license key"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_license_email" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_email"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:inputType="text"
|
||||
android:imeOptions="actionDone"
|
||||
android:singleLine="true"
|
||||
android:hint="Receipt email (user@domain.com)"
|
||||
android:layout_marginTop="2dp"
|
||||
android:background="@drawable/background_30_round_4dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_email_subtext" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_method_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="14dp"
|
||||
android:text="Payment using"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/edit_email"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/text_method"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Stripe"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_method_header"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_country_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="12dp"
|
||||
android:text="Country"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_method"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/text_country"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="United States"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_country_header"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<FrameLayout
|
||||
android:id="@+id/button_change_country"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/background_button_primary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/text_country_header"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_country">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:fontFamily="@font/inter_medium"
|
||||
android:text="Change"
|
||||
android:textSize="12dp" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_currency_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="12dp"
|
||||
android:text="Currency"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_country"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/text_currency"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="USD"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_currency_header"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<FrameLayout
|
||||
android:id="@+id/button_change_currency"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/background_button_primary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/text_currency_header"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_currency">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Change"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_medium" />
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_postal_code_header"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="12dp"
|
||||
android:text="Postal Code"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_currency"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<TextView
|
||||
android:id="@+id/text_postal_code"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="31313"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_postal_code_header"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<FrameLayout
|
||||
android:id="@+id/button_change_postal_code"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@drawable/background_button_primary"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/text_postal_code_header"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_postal_code">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Change"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_medium" />
|
||||
</FrameLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layout_breakdown"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="100dp"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="40dp"
|
||||
android:layout_marginEnd="40dp">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/text_product"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:text="Grayjay" />
|
||||
<TextView
|
||||
android:id="@+id/text_product_price"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textAlignment="textEnd"
|
||||
android:text="$9.40" />
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="#FFFFFF" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:text="Sales Tax (" />
|
||||
<TextView
|
||||
android:id="@+id/text_tax_percentage"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:text="6.25" />
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:text="%)" />
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/text_tax"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textAlignment="textEnd"
|
||||
android:text="$0.60" />
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:background="#FFFFFF" />
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textSize="12dp"
|
||||
android:text="Total" />
|
||||
<TextView
|
||||
android:id="@+id/text_total"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:textSize="12dp"
|
||||
android:textAlignment="textEnd"
|
||||
android:text="$10.00" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/layout_loader"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/image_loader"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="80dp"
|
||||
app:srcCompat="@drawable/ic_loader_animated"
|
||||
android:layout_gravity="center"
|
||||
android:contentDescription="@string/loading" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_error"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
android:text="Some error"
|
||||
android:gravity="center"
|
||||
android:textColor="#FF0000"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:layout_gravity="center" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/button_pay"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/background_button_primary"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Pay"
|
||||
android:textSize="18dp"
|
||||
android:fontFamily="@font/inter_bold" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="70dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_button_black">
|
||||
<ImageView
|
||||
android:id="@+id/image_flag"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:scaleType="fitCenter" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintLeft_toRightOf="@id/image_flag"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center">
|
||||
<TextView
|
||||
android:id="@+id/text_currency_abbr"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="14dp"
|
||||
android:text="US" />
|
||||
<TextView
|
||||
android:id="@+id/text_currency_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="United States" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,49 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="70dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_button_black">
|
||||
<ImageView
|
||||
android:id="@+id/image_flag"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="10dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:scaleType="fitCenter" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintLeft_toRightOf="@id/image_flag"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center">
|
||||
<TextView
|
||||
android:id="@+id/text_currency_abbr"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="14dp"
|
||||
android:text="USD" />
|
||||
<TextView
|
||||
android:id="@+id/text_currency_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="United States Dollar" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,52 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="70dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingBottom="5dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_button_black">
|
||||
<!--
|
||||
<ImageView
|
||||
android:id="@+id/image_flag"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="10dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:src="@drawable/us"/> -->
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center">
|
||||
<TextView
|
||||
android:id="@+id/text_currency_abbr"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textAlignment="center"
|
||||
android:textSize="14dp"
|
||||
android:text="Other" />
|
||||
<TextView
|
||||
android:id="@+id/text_currency_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="center"
|
||||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Select another currency" />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,50 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:paddingBottom="5dp"
|
||||
android:paddingTop="5dp">
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_button_black">
|
||||
<ImageView
|
||||
android:id="@+id/image_method"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:src="@drawable/stripe"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintLeft_toRightOf="@id/image_method"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:gravity="center">
|
||||
<TextView
|
||||
android:id="@+id/text_method_name"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_bold"
|
||||
android:textSize="12dp"
|
||||
android:text="Standard Payment Methods" />
|
||||
<TextView
|
||||
android:id="@+id/text_method_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="10dp"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Stripe is a secure online payment service that accepts major credit cards, debit cards, and various localized payment methods." />
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,127 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<View
|
||||
android:id="@+id/overlay_slide_up_menu_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#C9000000" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/overlay_slide_up_menu_ovelay_container"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginBottom="0dp"
|
||||
android:background="#1D1D1D"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingBottom="0dp">
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp">
|
||||
<TextView
|
||||
android:id="@+id/overlay_slide_up_menu_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="16dp"
|
||||
android:text="Add to"
|
||||
android:textColor="@color/white"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overlay_slide_up_menu_cancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="#585656"
|
||||
android:padding="10dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/overlay_slide_up_menu_ok"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:text="@string/ok"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:layout_marginStart="20dp"
|
||||
android:padding="10dp" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="10dp">
|
||||
<FrameLayout
|
||||
android:id="@+id/overlay_slide_up_filter_layout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/overlay_slide_up_filter_edit"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:inputType="text"
|
||||
android:imeOptions="actionDone"
|
||||
android:singleLine="true"
|
||||
android:paddingEnd="46dp"
|
||||
android:hint="Search"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/overlay_slide_up_filter_clear"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:paddingStart="18dp"
|
||||
android:paddingEnd="18dp"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:visibility="invisible"
|
||||
app:srcCompat="@drawable/ic_clear_16dp" />
|
||||
</FrameLayout>
|
||||
|
||||
<ScrollView android:id="@+id/overlay_slide_up_scroll"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintHeight_max="500dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/overlay_slide_up_filter_layout"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:orientation="vertical">
|
||||
<LinearLayout
|
||||
android:id="@+id/overlay_slide_up_menu_items"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="20dp" />
|
||||
</ScrollView>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/overlay_recycler_menu_items"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintHeight_max="400dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/overlay_slide_up_filter_layout"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent">
|
||||
</androidx.recyclerview.widget.RecyclerView>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
|
@ -1,55 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/background_button_black"
|
||||
android:padding="10dp">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_postal_code"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:inputType="text"
|
||||
android:imeOptions="actionDone"
|
||||
android:singleLine="true"
|
||||
android:hint="ZIP code (36925, ...)"
|
||||
android:layout_marginTop="2dp"
|
||||
android:background="@drawable/background_30_round_4dp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_subtext"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textSize="12dp"
|
||||
android:textColor="#999999"
|
||||
android:layout_marginTop="2dp"
|
||||
android:text="Required to accurately calculate the applicable sales tax"/>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/button_submit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/background_button_primary"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:text="Submit"
|
||||
android:textSize="18dp"
|
||||
android:fontFamily="@font/inter_bold" />
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -3,6 +3,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="32dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="7dp"
|
||||
android:paddingLeft="7dp"
|
||||
|
@ -20,7 +21,7 @@
|
|||
android:textColor="@color/white"
|
||||
android:textSize="13dp"
|
||||
android:gravity="center_vertical"
|
||||
android:text="500K" />
|
||||
tools:text="500K" />
|
||||
|
||||
<View
|
||||
android:id="@+id/pill_seperator"
|
||||
|
@ -42,6 +43,6 @@
|
|||
android:textColor="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="13dp"
|
||||
android:text="500K" />
|
||||
tools:text="500K" />
|
||||
|
||||
</LinearLayout>
|
|
@ -72,7 +72,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="LIVE"
|
||||
android:text="@string/live_capitalized"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
@ -98,7 +98,7 @@
|
|||
android:paddingRight="2dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12dp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="center"
|
||||
android:textStyle="normal" />
|
||||
</LinearLayout>
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
android:paddingEnd="4dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
android:layout_marginBottom="3dp"
|
||||
|
@ -119,7 +119,8 @@
|
|||
android:text="/"
|
||||
app:layout_constraintLeft_toRightOf="@id/exo_position"
|
||||
app:layout_constraintTop_toTopOf="@id/exo_position"
|
||||
app:layout_constraintBottom_toBottomOf="@id/exo_position" />
|
||||
app:layout_constraintBottom_toBottomOf="@id/exo_position"
|
||||
tools:ignore="HardcodedText" />
|
||||
|
||||
<TextView
|
||||
android:id="@id/exo_duration"
|
||||
|
@ -130,7 +131,7 @@
|
|||
android:paddingRight="4dp"
|
||||
android:textColor="#AAAAAA"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_divider"
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
android:paddingEnd="4dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
android:layout_marginBottom="3dp"
|
||||
|
@ -140,7 +140,8 @@
|
|||
android:text="/"
|
||||
app:layout_constraintLeft_toRightOf="@id/exo_position"
|
||||
app:layout_constraintTop_toTopOf="@id/exo_position"
|
||||
app:layout_constraintBottom_toBottomOf="@id/exo_position" />
|
||||
app:layout_constraintBottom_toBottomOf="@id/exo_position"
|
||||
tools:ignore="HardcodedText" />
|
||||
|
||||
<TextView
|
||||
android:id="@id/exo_duration"
|
||||
|
@ -151,7 +152,7 @@
|
|||
android:paddingRight="4dp"
|
||||
android:textColor="#AAAAAA"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_divider"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
android:id="@+id/edit_comment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Add a comment..."
|
||||
android:text="@string/add_a_comment"
|
||||
android:textColor="@color/gray_ae"
|
||||
android:gravity="top|start"
|
||||
android:textSize="14sp"
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
<TextView android:id="@+id/text_never"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Never"
|
||||
android:text="@string/never"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
@ -81,7 +81,7 @@
|
|||
<TextView android:id="@+id/text_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Dismiss"
|
||||
android:text="@string/dismiss"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/bullet_point"
|
||||
|
@ -10,12 +11,13 @@
|
|||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="•" />
|
||||
android:text="•"
|
||||
tools:ignore="HardcodedText" />
|
||||
<TextView
|
||||
android:id="@+id/bullet_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="someurl.com" />
|
||||
tools:text="someurl.com" />
|
||||
</LinearLayout>
|
|
@ -2,6 +2,7 @@
|
|||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="bottom"
|
||||
|
@ -92,7 +93,7 @@
|
|||
android:paddingEnd="4dp"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
android:layout_marginBottom="3dp"
|
||||
|
@ -109,7 +110,8 @@
|
|||
android:text="/"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_position"
|
||||
app:layout_constraintTop_toTopOf="@id/text_position"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_position" />
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_position"
|
||||
tools:ignore="HardcodedText" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_duration"
|
||||
|
@ -120,7 +122,7 @@
|
|||
android:paddingRight="4dp"
|
||||
android:textColor="#AAAAAA"
|
||||
android:textSize="12sp"
|
||||
android:text="00:00"
|
||||
tools:text="00:00"
|
||||
android:layout_gravity="bottom"
|
||||
android:textStyle="normal"
|
||||
app:layout_constraintLeft_toRightOf="@id/text_divider"
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
android:fontFamily="@font/inter_light"
|
||||
android:textColor="@color/white"
|
||||
android:layout_marginTop="5dp"
|
||||
android:text="Scan QR" />
|
||||
android:text="@string/scan_qr" />
|
||||
<TextView
|
||||
android:id="@+id/text_description"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -38,7 +38,7 @@
|
|||
android:textSize="12dp"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textColor="#ACACAC"
|
||||
android:text="Scan a QR code to install" />
|
||||
android:text="@string/scan_a_qr_code_to_install" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -1,9 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_gravity="bottom"
|
||||
android:layoutDirection="ltr"
|
||||
android:orientation="vertical">
|
||||
|
@ -29,7 +29,7 @@
|
|||
android:id="@+id/text_rewind"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="0 Seconds"
|
||||
tools:text="0 Seconds"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -57,7 +57,7 @@
|
|||
android:id="@+id/text_fastforward"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="0 Seconds"
|
||||
tools:text="0 Seconds"
|
||||
android:textSize="14dp"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
|
@ -94,7 +94,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:scaleType="centerInside"
|
||||
app:srcCompat="@drawable/ic_volume_up_1"
|
||||
android:contentDescription="volume" />
|
||||
android:contentDescription="@string/volume" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
|
@ -125,7 +125,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:scaleType="centerInside"
|
||||
app:srcCompat="@drawable/ic_brightness_1"
|
||||
android:contentDescription="volume" />
|
||||
android:contentDescription="@string/volume" />
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
|
@ -147,7 +147,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/inter_regular"
|
||||
android:text="Toggle fullscreen"
|
||||
android:text="@string/toggle_fullscreen"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16dp"/>
|
||||
</FrameLayout>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
@ -27,7 +28,7 @@
|
|||
android:layout_marginTop="13dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18dp"
|
||||
android:text="Some Plugin" />
|
||||
tools:text="Some Plugin" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/byContainer"
|
||||
|
@ -42,7 +43,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="By"
|
||||
android:text="@string/by"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:textSize="15dp"
|
||||
android:textColor="@color/text_color_tinted" />
|
||||
|
@ -50,7 +51,7 @@
|
|||
android:id="@+id/source_by"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="FUTO"
|
||||
tools:text="FUTO"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:textSize="15dp"
|
||||
|
@ -59,7 +60,7 @@
|
|||
android:id="@+id/source_author_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="(a5f64b3)"
|
||||
tools:text="(a5f64b3)"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:layout_marginLeft="7dp"
|
||||
android:textSize="15dp"
|
||||
|
@ -74,7 +75,7 @@
|
|||
android:layout_marginTop="8dp"
|
||||
android:textColor="@color/text_color_tinted"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="A plugin that adds Youtube as a source" />
|
||||
tools:text="A plugin that adds Youtube as a source" />
|
||||
|
||||
<!--Version-->
|
||||
<LinearLayout
|
||||
|
@ -88,7 +89,7 @@
|
|||
android:textColor="@color/white"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Version" />
|
||||
android:text="@string/version" />
|
||||
<TextView
|
||||
android:id="@+id/source_version"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -96,7 +97,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/text_color_tinted"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="3" />
|
||||
tools:text="3" />
|
||||
</LinearLayout>
|
||||
|
||||
<!--Repo Url-->
|
||||
|
@ -119,7 +120,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="https://some.repository.url/whatever/something" />
|
||||
tools:text="https://some.repository.url/whatever/something" />
|
||||
</LinearLayout>
|
||||
|
||||
<!--Script Url-->
|
||||
|
@ -142,7 +143,7 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="https://some.repository.url/whatever/someScript.js" />
|
||||
tools:text="https://some.repository.url/whatever/someScript.js" />
|
||||
</LinearLayout>
|
||||
|
||||
<!--Script Url-->
|
||||
|
@ -157,7 +158,7 @@
|
|||
android:textColor="@color/white"
|
||||
android:layout_marginTop="10dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:text="Signature" />
|
||||
android:text="@string/signature" />
|
||||
<TextView
|
||||
android:id="@+id/source_signature"
|
||||
android:layout_width="match_parent"
|
||||
|
@ -165,6 +166,6 @@
|
|||
android:textSize="14dp"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:fontFamily="@font/inter_extra_light"
|
||||
android:text="Valid" />
|
||||
android:text="@string/valid" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
|
@ -227,7 +227,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Clear"
|
||||
android:text="@string/clear"
|
||||
android:includeFontPadding="false"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="14dp"
|
||||
|
@ -258,7 +258,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Shuffle"
|
||||
android:text="@string/shuffle"
|
||||
android:includeFontPadding="false"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="14dp"
|
||||
|
@ -295,7 +295,7 @@
|
|||
android:layout_marginStart="6dp"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:includeFontPadding="false"
|
||||
android:text="Repeat"
|
||||
android:text="@string/repeat"
|
||||
android:textColor="@color/gray_8f"
|
||||
android:textSize="14dp" />
|
||||
</LinearLayout>
|
||||
|
@ -324,7 +324,7 @@
|
|||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="View"
|
||||
android:text="@string/view"
|
||||
android:includeFontPadding="false"
|
||||
android:fontFamily="@font/inter_light"
|
||||
android:textSize="14dp"
|
||||
|
|
|
@ -29,9 +29,10 @@
|
|||
<string name="close">Close</string>
|
||||
<string name="never">Never</string>
|
||||
<string name="there_is_an_update_available_do_you_wish_to_update">There is an update available, do you wish to update?</string>
|
||||
<string name="downloading_update">Downloading update...</string>
|
||||
<string name="installing_update">Installing update...</string>
|
||||
<string name="downloading_update">Downloading update…</string>
|
||||
<string name="installing_update">Installing update…</string>
|
||||
<string name="done">Done</string>
|
||||
<string name="getHome">getHome</string>
|
||||
<string-array name="home_screen_array">
|
||||
<item>Recommendations</item>
|
||||
<item>Subscriptions</item>
|
||||
|
@ -240,7 +241,7 @@
|
|||
<string name="options">Options</string>
|
||||
<string name="export">Export</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="loading_update">Loading update...</string>
|
||||
<string name="loading_update">Loading update…</string>
|
||||
<string name="polycentric_explanation">As you browse online videos and want to leave a comment, consider trying Polycentric, a new way to manage your online presence that\'s both easy to use and focused on your needs. Here\'s why creating a Polycentric profile is a great choice:\n\n 1. You\'re in Control: With Polycentric, your data isn\'t stored in one place controlled by a single company. Instead, it\'s spread across multiple locations, giving you more control over your online presence. You decide where your data is stored and can easily switch between providers or add new ones.\n\n 2. Privacy and Security: Polycentric keeps your information safe by using advanced security techniques. You can trust that your personal details are well-protected and only accessible by those you choose to share them with.\n\n 3. Seamless Networking: Polycentric lets you connect with others and interact with their content without being tied to a single platform. If a provider becomes unreliable or tries to block access, your Polycentric client will automatically find information from other sources, keeping you connected.\n\n 4. Smart Search and Recommendations: Polycentric uses multiple sources for search and recommendations, offering you top-notch performance while ensuring no single provider has too much influence over the results you see.\n\n 5. Adaptable and Open: Polycentric is designed to be flexible and open to new developments, allowing for constant improvements and new features that adapt to the needs of its users.\n\n 6. By creating a Polycentric profile, you can leave comments on online videos and enjoy a more personalized online experience. See for yourself how this user-friendly solution puts you in control of your digital life. Sign up for Polycentric today!</string>
|
||||
<string name="publish">Publish</string>
|
||||
<string name="usage">Usage</string>
|
||||
|
@ -248,6 +249,269 @@
|
|||
<string name="enable_in_search">Enable in search</string>
|
||||
<string name="check">Check</string>
|
||||
<string name="buy_text">Grayjay is not an easy or cheap app to build and maintain. We have full time engineers working on the app and its surrounding systems. And will likely not make its money back anytime soon, if ever.\n\nFUTO’s mission is for open-source software and non-malicious software business practices to become a sustainable income source for projects and their developers. For this reason we are in favor of users actually paying for the software.\n\nThat is why Grayjay wants you to pay for the software.</string>
|
||||
<string name="an_uncaught_exception_was_thrown_we_re_sorry_for_the_inconvenience">An uncaught exception was thrown, we\'re sorry for the inconvenience.</string>
|
||||
<string name="to_help_us_solve_this_please_share_the_below_crash_report_with_us_and_perhaps_adds_some_context_on_what_you_were_doing">To help us solve this, please share the below crash report with us, and perhaps adds some context on what you were doing.</string>
|
||||
<string name="new_profile">New Profile</string>
|
||||
<string name="import_existing_profile">Import Existing Profile</string>
|
||||
<string name="generate_a_new_identity">Generate a new identity</string>
|
||||
<string name="use_an_existing_identity">Use an existing identity</string>
|
||||
<string name="permissions">Permissions</string>
|
||||
<string name="security_warnings">Security Warnings</string>
|
||||
<string name="these_are_warnings_of_plugin_behavior_and_implementation">These are warnings of plugin behavior and implementation</string>
|
||||
<string name="please_enter_the_captcha_and_close_when_finished">Please enter the captcha and close when finished</string>
|
||||
<string name="close_capitalized">CLOSE</string>
|
||||
<string name="submit">Submit</string>
|
||||
<string name="restart">Restart</string>
|
||||
<string name="manage_tabs">Manage Tabs</string>
|
||||
<string name="scan_to_import">Scan to import</string>
|
||||
<string name="send_your_identity_to_another_app">Send your identity to another app</string>
|
||||
<string name="copy">Copy</string>
|
||||
<string name="copy_your_identity_to_clipboard">Copy your identity to clipboard</string>
|
||||
<string name="polycentric">Polycentric</string>
|
||||
<string name="profile_name">Profile Name</string>
|
||||
<string name="this_will_be_visible_to_other_users">This will be visible to other users</string>
|
||||
<string name="create_profile">Create Profile</string>
|
||||
<string name="or_capitalized">OR</string>
|
||||
<string name="paste_profile_here_polycentric">Paste profile here polycentric://…</string>
|
||||
<string name="import_profile">Import Profile</string>
|
||||
<string name="you_re_apparantly_a_developer">You\'re apparently a developer</string>
|
||||
<string name="developer_settings">Developer Settings</string>
|
||||
<string name="migration">Migration</string>
|
||||
<string name="set_a_password_for_your_daily_backup">Set a password for your daily backup</string>
|
||||
<string name="set_a_password_used_to_encrypt_your_daily_backup_that_is_written_to_external_storage">Set a password used to encrypt your daily backup that is written to external storage.</string>
|
||||
<string name="backup_password">Backup Password</string>
|
||||
<string name="restore_from_automatic_backup">Restore from Automatic Backup</string>
|
||||
<string name="it_appears_an_automatic_backup_exists_on_your_device_if_you_would_like_to_restore_enter_your_backup_password">It appears an automatic backup exists on your device, if you would like to restore, enter your backup password.</string>
|
||||
<string name="restore">Restore</string>
|
||||
<string name="error_message_here">Error message here</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="ip">IP</string>
|
||||
<string name="port">Port</string>
|
||||
<string name="discovered_devices">Discovered Devices</string>
|
||||
<string name="remembered_devices">Remembered Devices</string>
|
||||
<string name="there_are_no_remembered_devices">There are no remembered devices</string>
|
||||
<string name="connected_to">Connected to</string>
|
||||
<string name="volume">Volume</string>
|
||||
<string name="changelog">Changelog</string>
|
||||
<string name="some_example_changelog">Some example changelog.</string>
|
||||
<string name="previous">Previous</string>
|
||||
<string name="next">Next</string>
|
||||
<string name="comment">Comment</string>
|
||||
<string name="str_import">Import</string>
|
||||
<string name="my_playlist_name">My Playlist Name</string>
|
||||
<string name="do_you_want_to_import_this_store">Do you want to import this store?</string>
|
||||
<string name="sources_required_need_to_be_enabled">Sources required need to be enabled</string>
|
||||
<string name="items_require_migration_or_are_corrupted_would_you_like_to_restore_them_from_backup_now">Items require migration or are corrupted, would you like to restore them from backup now?</string>
|
||||
<string name="if_ignored_you_will_be_asked_again_next_startup">If ignored you will be asked again next startup.</string>
|
||||
<string name="ignore">Ignore</string>
|
||||
<string name="view_changelog">View changelog</string>
|
||||
<string name="i_already_paid">I Already Paid</string>
|
||||
<string name="memberships">Memberships</string>
|
||||
<string name="a_monthly_recurring_payment_with_often">A monthly recurring payment with often</string>
|
||||
<string name="additional_perks">additional perks.</string>
|
||||
<string name="a_one_time_payment_to_support_the_creator">A one-time payment to support the creator</string>
|
||||
<string name="donation">Donation</string>
|
||||
<string name="downloading">Downloading</string>
|
||||
<string name="videos">Videos</string>
|
||||
<string name="clear_history">Clear history</string>
|
||||
<string name="nothing_to_import">Nothing to import</string>
|
||||
<string name="enabling_lots_of_sources_can_reduce_the_loading_speed_of_your_application">Enabling lots of sources can reduce the loading speed of your application.</string>
|
||||
<string name="support">Support</string>
|
||||
<string name="store">Store</string>
|
||||
<string name="live_chat">Live Chat</string>
|
||||
<string name="remove">Remove</string>
|
||||
<string name="space_videos">Videos</string>
|
||||
<string name="playlist">Playlist</string>
|
||||
<string name="neopass_channel">Polycentric channel</string>
|
||||
<string name="enable">Enable</string>
|
||||
<string name="under_construction">Under Construction</string>
|
||||
<string name="under">UNDER</string>
|
||||
<string name="construction">CONSTRUCTION</string>
|
||||
<string name="disable">Disable</string>
|
||||
<string name="the_following_content_cannot_be_opened_in_grayjay_due_to_a_missing_plugin">The following content cannot be opened in Grayjay due to a missing plugin.</string>
|
||||
<string name="unknown">Unknown</string>
|
||||
<string name="tap_to_open_in_browser">Tap to open in browser</string>
|
||||
<string name="missing_plugin">Missing Plugin</string>
|
||||
<string name="viewers_are_raiding">Viewers are raiding</string>
|
||||
<string name="go_now">Go now</string>
|
||||
<string name="prevent">Prevent</string>
|
||||
<string name="recently_used_playlist">Recently Used Playlist</string>
|
||||
<string name="license_email">License email</string>
|
||||
<string name="required_to_send_the_license_key">Required to send the license key</string>
|
||||
<string name="receipt_email_user_domain_com">Receipt email (user@domain.com)</string>
|
||||
<string name="payment_using">Payment using</string>
|
||||
<string name="country">Country</string>
|
||||
<string name="postal_code">Postal Code</string>
|
||||
<string name="grayjay">Grayjay</string>
|
||||
<string name="sales_tax">Sales Tax (</string>
|
||||
<string name="total">Total</string>
|
||||
<string name="pay">Pay</string>
|
||||
<string name="standard_payment_methods">Standard Payment Methods</string>
|
||||
<string name="stripe_is_a_secure_online_payment_service_that_accepts_major_credit_cards_debit_cards_and_various_localized_payment_methods">Stripe is a secure online payment service that accepts major credit cards, debit cards, and various localized payment methods.</string>
|
||||
<string name="live_capitalized">LIVE</string>
|
||||
<string name="add_a_comment">Add a comment…</string>
|
||||
<string name="dismiss">Dismiss</string>
|
||||
<string name="scan_a_qr_code_to_install">Scan a QR code to install</string>
|
||||
<string name="toggle_fullscreen">Toggle fullscreen</string>
|
||||
<string name="by">By</string>
|
||||
<string name="signature">Signature</string>
|
||||
<string name="valid">Valid</string>
|
||||
<string name="repeat">Repeat</string>
|
||||
<string name="view">View</string>
|
||||
<string name="install_by_qr">Install by QR</string>
|
||||
<string name="install_a_plugin_by_scanning_a_qr_code">Install a plugin by scanning a QR code</string>
|
||||
<string name="logout">Logout</string>
|
||||
<string name="video">Video</string>
|
||||
<string name="view_a_more_in_depth_video">View a more in-depth video</string>
|
||||
<string name="technical_documentation">Technical Documentation</string>
|
||||
<string name="view_the_technical_documentation">View the technical documentation</string>
|
||||
<string name="visit_my_store">Visit my store</string>
|
||||
<string name="make_a_backup_of_your_identity">Make a backup of your identity</string>
|
||||
<string name="sign_out_of_this_identity">Sign out of this identity</string>
|
||||
<string name="delete_this_profile">Delete this profile</string>
|
||||
<string name="install_by_url">Install by URL</string>
|
||||
<string name="cache_to_quickly_load_previously_fetched_videos">Cache to quickly load previously fetched videos</string>
|
||||
<string name="a_list_of_user_reported_and_self_reported_issues">A list of user-reported and self-reported issues</string>
|
||||
<string name="also_removes_any_data_related_plugin_like_login_or_settings">Also removes any data related plugin like login or settings</string>
|
||||
<string name="announcement">Announcement</string>
|
||||
<string name="attempt_to_utilize_byte_ranges">Attempt to utilize byte ranges</string>
|
||||
<string name="auto_update">Auto Update</string>
|
||||
<string name="auto_rotate">Auto-Rotate</string>
|
||||
<string name="auto_rotate_dead_zone">Auto-Rotate Dead Zone</string>
|
||||
<string name="automatic_backup">Automatic Backup</string>
|
||||
<string name="background_behavior">Background Behavior</string>
|
||||
<string name="background_update">Background Update</string>
|
||||
<string name="background_download">Background download</string>
|
||||
<string name="backup">Backup</string>
|
||||
<string name="browsing">Browsing</string>
|
||||
<string name="byte_range_concurrency">ByteRange Concurrency</string>
|
||||
<string name="byte_range_download">ByteRange Download</string>
|
||||
<string name="casting">Casting</string>
|
||||
<string name="change_behavior_of_the_player">Change behavior of the player</string>
|
||||
<string name="change_external_downloads_directory">Change external Downloads directory</string>
|
||||
<string name="change_external_general_directory">Change external General directory</string>
|
||||
<string name="change_tabs_visible_on_the_home_screen">Change tabs visible on the home screen</string>
|
||||
<string name="change_the_external_directory_for_general_files">Change the external directory for general files</string>
|
||||
<string name="change_the_external_storage_for_download_files">Change the external storage for download files</string>
|
||||
<string name="clear_cookies">Clear Cookies</string>
|
||||
<string name="clear_cookies_on_logout">Clear Cookies on Logout</string>
|
||||
<string name="clear_payment">Clear Payment</string>
|
||||
<string name="clears_cookies_when_you_log_out">Clears cookies when you log out</string>
|
||||
<string name="clears_in_app_browser_cookies">Clears in-app browser cookies</string>
|
||||
<string name="configure_browsing_behavior">Configure browsing behavior</string>
|
||||
<string name="configure_casting">Configure casting</string>
|
||||
<string name="configure_daily_backup_in_case_of_catastrophic_failure">Configure daily backup in case of catastrophic failure</string>
|
||||
<string name="configure_downloading_of_videos">Configure downloading of videos</string>
|
||||
<string name="configure_how_your_home_tab_works_and_feels">Configure how your Home tab works and feels</string>
|
||||
<string name="configure_how_your_subscriptions_works_and_feels">Configure how your Subscriptions works and feels</string>
|
||||
<string name="configure_if_background_download_should_be_used">Configure if background download should be used</string>
|
||||
<string name="configure_the_auto_updater">Configure the auto updater</string>
|
||||
<string name="configure_when_updates_should_be_downloaded">Configure when updates should be downloaded</string>
|
||||
<string name="configure_when_videos_should_be_downloaded">Configure when videos should be downloaded</string>
|
||||
<string name="creates_a_zip_file_with_your_data_which_can_be_imported_by_opening_it_with_grayjay">Creates a zip file with your data which can be imported by opening it with Grayjay</string>
|
||||
<string name="default_audio_quality">Default Audio Quality</string>
|
||||
<string name="default_playback_speed">Default Playback Speed</string>
|
||||
<string name="default_video_quality">Default Video Quality</string>
|
||||
<string name="deletes_license_keys_from_app">Deletes license keys from app</string>
|
||||
<string name="download_when">Download when</string>
|
||||
<string name="enable_video_cache">Enable Video Cache</string>
|
||||
<string name="enable_casting">Enable casting</string>
|
||||
<string name="experimental_background_update_for_subscriptions_cache">Experimental background update for subscriptions cache</string>
|
||||
<string name="export_data">Export Data</string>
|
||||
<string name="external_storage">External Storage</string>
|
||||
<string name="feed_style">Feed Style</string>
|
||||
<string name="fetch_on_app_boot">Fetch on app boot</string>
|
||||
<string name="get_answers_to_common_questions">Get answers to common questions</string>
|
||||
<string name="give_feedback_on_the_application">Give feedback on the application</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="live_chat_webview">Live Chat Webview</string>
|
||||
<string name="log_level">Log Level</string>
|
||||
<string name="logging">Logging</string>
|
||||
<string name="manage_polycentric_identity">Manage Polycentric identity</string>
|
||||
<string name="manage_your_polycentric_identity">Manage your Polycentric identity</string>
|
||||
<string name="manual_check">Manual check</string>
|
||||
<string name="manually_check_for_updates">Manually check for updates</string>
|
||||
<string name="number_of_concurrent_threads_to_multiply_download_speeds_from_throttled_sources">Number of concurrent threads to multiply download speeds from throttled sources</string>
|
||||
<string name="payment">Payment</string>
|
||||
<string name="payment_status">Payment Status</string>
|
||||
<string name="player">Player</string>
|
||||
<string name="plugins">Plugins</string>
|
||||
<string name="preferred_casting_quality">Preferred Casting Quality</string>
|
||||
<string name="preferred_metered_quality">Preferred Metered Quality</string>
|
||||
<string name="preferred_preview_quality">Preferred Preview Quality</string>
|
||||
<string name="primary_language">Primary Language</string>
|
||||
<string name="reinstall_embedded_plugins">Reinstall Embedded Plugins</string>
|
||||
<string name="remove_cached_version">Remove Cached Version</string>
|
||||
<string name="remove_the_last_downloaded_version">Remove the last downloaded version</string>
|
||||
<string name="reset_announcements">Reset announcements</string>
|
||||
<string name="reset_hidden_announcements">Reset hidden announcements</string>
|
||||
<string name="restore_automatic_backup">Restore Automatic Backup</string>
|
||||
<string name="restore_a_previous_automatic_backup">Restore a previous automatic backup</string>
|
||||
<string name="resume_after_preview">Resume After Preview</string>
|
||||
<string name="review_the_current_and_past_changelogs">Review the current and past changelogs</string>
|
||||
<string name="set_automatic_backup">Set Automatic Backup</string>
|
||||
<string name="shortly_after_opening_the_app_start_fetching_subscriptions">Shortly after opening the app, start fetching subscriptions</string>
|
||||
<string name="show_faq">Show FAQ</string>
|
||||
<string name="show_issues">Show Issues</string>
|
||||
<string name="specify_how_many_threads_are_used_to_fetch_channels">Specify how many threads are used to fetch channels</string>
|
||||
<string name="submit_feedback">Submit feedback</string>
|
||||
<string name="submit_logs">Submit logs</string>
|
||||
<string name="submit_logs_to_help_us_narrow_down_issues">Submit logs to help us narrow down issues</string>
|
||||
<string name="subscription_concurrency">Subscription Concurrency</string>
|
||||
<string name="this_prevents_the_device_from_rotating_within_the_given_amount_of_degrees">This prevents the device from rotating within the given amount of degrees</string>
|
||||
<string name="use_the_live_chat_web_window_when_available_over_native_implementation">Use the live chat web window when available over native implementation</string>
|
||||
<string name="version_code">Version Code</string>
|
||||
<string name="version_name">Version Name</string>
|
||||
<string name="version_type">Version Type</string>
|
||||
<string name="when_watching_a_video_in_preview_mode_resume_at_the_position_when_opening_the_video_code">When watching a video in preview mode, resume at the position when opening the video code</string>
|
||||
<string name="please_enable_logging_to_submit_logs">Please enable logging to submit logs</string>
|
||||
<string name="embedded_plugins_reinstalled_a_reboot_is_recommended">Embedded plugins reinstalled, a reboot is recommended</string>
|
||||
<string name="announcements_reset">Announcements reset.</string>
|
||||
<string name="failed_to_show_store">Failed to show store.</string>
|
||||
<string name="retrieving_changelog">Retrieving changelog</string>
|
||||
<string name="paid">Paid</string>
|
||||
<string name="not_paid">Not Paid</string>
|
||||
<string name="licenses_cleared_might_require_app_restart">Licenses cleared, might require app restart</string>
|
||||
<string name="attempts_to_fetch_2_pages_from_getHome">Attempts to fetch 2 pages from getHome</string>
|
||||
<string name="background_subscription_testing">Background Subscription Testing</string>
|
||||
<string name="clear_all_downloaded">Clear All Downloaded</string>
|
||||
<string name="clear_downloads">Clear Downloads</string>
|
||||
<string name="clear_all_cookies_from_the_cookieManager">Clear all cookies from the CookieManager</string>
|
||||
<string name="crash_me">Crash Me</string>
|
||||
<string name="crashes_the_application_on_purpose">Crashes the application on purpose</string>
|
||||
<string name="delete_announcements">Delete Announcements</string>
|
||||
<string name="delete_unresolved">Delete Unresolved</string>
|
||||
<string name="delete_all_announcements">Delete all announcements</string>
|
||||
<string name="deletes_all_downloaded_videos_and_related_files">Deletes all downloaded videos and related files</string>
|
||||
<string name="deletes_all_ongoing_downloads">Deletes all ongoing downloads</string>
|
||||
<string name="deletes_all_unresolved_source_files">Deletes all unresolved source files</string>
|
||||
<string name="developer_mode">Developer Mode</string>
|
||||
<string name="development_server">Development Server</string>
|
||||
<string name="experimental">Experimental</string>
|
||||
<string name="fill_storage_till_error">Fill storage till error</string>
|
||||
<string name="inject">Inject</string>
|
||||
<string name="injects_a_test_source_config_local_into_v8">Injects a test source config (local) into V8</string>
|
||||
<string name="other">Other</string>
|
||||
<string name="others_ellipsis">Others…</string>
|
||||
<string name="removes_all_subscriptions">Removes all subscriptions</string>
|
||||
<string name="settings_related_to_development_server_be_careful_as_it_may_open_your_phone_to_security_vulnerabilities">Settings related to development server, be careful as it may open your phone to security vulnerabilities</string>
|
||||
<string name="start_server">Start Server</string>
|
||||
<string name="start_server_on_boot">Start Server on boot</string>
|
||||
<string name="starts_a_devServer_on_port_11337_may_expose_vulnerabilities">Starts a DevServer on port 11337, may expose vulnerabilities.</string>
|
||||
<string name="test_v8_communication_speed">Test V8 Communication speed</string>
|
||||
<string name="test_v8_creation_speed">Test V8 Creation speed</string>
|
||||
<string name="tests_v8_communication_speeds">Tests V8 communication speeds</string>
|
||||
<string name="tests_v8_creation_times_and_running">Tests V8 creation times and running</string>
|
||||
<string name="unsubscribe_all">Unsubscribe all</string>
|
||||
<string name="v8_benchmarks">V8 Benchmarks</string>
|
||||
<string name="v8_script_testing">V8 Script Testing</string>
|
||||
<string name="various_benchmarks_using_the_integrated_v8_engine">Various benchmarks using the integrated V8 engine</string>
|
||||
<string name="various_tests_against_a_custom_source">Various tests against a custom source</string>
|
||||
<string name="writes_to_disk_till_no_space_is_left">Writes to disk till no space is left</string>
|
||||
<string name="visibility">Visibility</string>
|
||||
<string name="enable_where_this_plugins_content_are_visible">Enable where this plugin\'s content are visible</string>
|
||||
<string name="show_content_in_home_tab">Show content in home tab</string>
|
||||
<string name="show_content_in_search_results">Show content in search results</string>
|
||||
<string-array name="casting_device_type_array">
|
||||
<item>FastCast</item>
|
||||
<item>ChromeCast</item>
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 2c608e7eddb742a918b304e3c52888206275f642
|
||||
Subproject commit 3090ca3af03ce276fc167d47f49daa76a5b67dd7
|
|
@ -20,4 +20,5 @@ kotlin.code.style=official
|
|||
# Enables namespacing of each library's R class so that its R class includes only the
|
||||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
android.nonTransitiveRClass=true
|
||||
android.nonFinalResIds=false
|
Loading…
Add table
Reference in a new issue