├── .editorconfig ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature-request.md │ └── theme-report.md └── workflows │ └── android.yml ├── .gitignore ├── .idea ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── encodings.xml ├── inspectionProfiles │ ├── ktlint.xml │ └── profiles_settings.xml ├── jarRepositories.xml ├── kotlinScripting.xml ├── kotlinc.xml ├── ktfmt.xml ├── migrations.xml ├── misc.xml └── vcs.xml ├── LICENSE ├── README.md ├── _config.yml ├── _layouts └── default.html ├── app-compose ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── com │ │ │ └── pitchedapps │ │ │ └── frost │ │ │ ├── FrostApp.kt │ │ │ ├── StartActivity.kt │ │ │ ├── components │ │ │ ├── Core.kt │ │ │ ├── FrostComponents.kt │ │ │ └── FrostDataStore.kt │ │ │ ├── compose │ │ │ ├── FrostPreview.kt │ │ │ ├── FrostTheme.kt │ │ │ ├── draggable │ │ │ │ ├── DragContainer.kt │ │ │ │ └── DraggableState.kt │ │ │ ├── effects │ │ │ │ └── Shake.kt │ │ │ ├── settings │ │ │ │ ├── SettingState.kt │ │ │ │ ├── SettingsDsl.kt │ │ │ │ ├── SettingsListDsl.kt │ │ │ │ ├── SettingsListItem.kt │ │ │ │ └── SettingsListItemDsl.kt │ │ │ └── webview │ │ │ │ └── FrostWebCompose.kt │ │ │ ├── ext │ │ │ ├── ComposeExt.kt │ │ │ ├── ContextExt.kt │ │ │ └── FrostExt.kt │ │ │ ├── facebook │ │ │ ├── FbConst.kt │ │ │ ├── FbItem.kt │ │ │ ├── FbRegex.kt │ │ │ ├── FbUrl.kt │ │ │ └── FbUrlFormatter.kt │ │ │ ├── hilt │ │ │ ├── FrostDbModule.kt │ │ │ ├── FrostModule.kt │ │ │ ├── FrostWebViewModule.kt │ │ │ └── MoshiModule.kt │ │ │ ├── main │ │ │ ├── MainActivity.kt │ │ │ ├── MainData.kt │ │ │ ├── MainScreen.kt │ │ │ ├── MainScreenViewModel.kt │ │ │ └── MainScreenWebView.kt │ │ │ ├── overlay │ │ │ ├── WebOverlayActivity.kt │ │ │ └── WebOverlayScreen.kt │ │ │ ├── persistent │ │ │ ├── AccountProto.kt │ │ │ └── settings │ │ │ │ └── AppearanceProto.kt │ │ │ ├── settings │ │ │ ├── SettingsScreen.kt │ │ │ └── screens │ │ │ │ └── MainSettingsScreen.kt │ │ │ ├── tabselector │ │ │ ├── TabData.kt │ │ │ └── TabSelectorScreen.kt │ │ │ ├── view │ │ │ ├── FrostWebView.kt │ │ │ └── NestedWebView.kt │ │ │ ├── web │ │ │ ├── FrostAdBlock.kt │ │ │ ├── FrostCookie.kt │ │ │ ├── FrostWebHelper.kt │ │ │ ├── FrostWebUiOptions.kt │ │ │ ├── state │ │ │ │ ├── FrostMiddleware.kt │ │ │ │ ├── FrostWebAction.kt │ │ │ │ ├── FrostWebReducer.kt │ │ │ │ ├── FrostWebState.kt │ │ │ │ ├── FrostWebStore.kt │ │ │ │ ├── helper │ │ │ │ │ └── Target.kt │ │ │ │ ├── reducer │ │ │ │ │ ├── ContentStateReducer.kt │ │ │ │ │ └── TabListReducer.kt │ │ │ │ └── state │ │ │ │ │ └── SessionState.kt │ │ │ └── usecases │ │ │ │ ├── HomeTabsUseCases.kt │ │ │ │ ├── TabUseCases.kt │ │ │ │ └── UseCases.kt │ │ │ └── webview │ │ │ ├── FrostChromeClients.kt │ │ │ ├── FrostWeb.kt │ │ │ ├── FrostWebViewClients.kt │ │ │ └── injection │ │ │ ├── FrostJsInjectors.kt │ │ │ ├── JsInjector.kt │ │ │ └── assets │ │ │ ├── CssActions.kt │ │ │ ├── CssHider.kt │ │ │ ├── JsActions.kt │ │ │ └── JsAssets.kt │ ├── proto │ │ ├── account.proto │ │ └── settings │ │ │ └── appearance.proto │ ├── res │ │ ├── drawable-nodpi │ │ │ └── splash_logo.9.png │ │ ├── drawable │ │ │ ├── badge_background.xml │ │ │ ├── frost_f_200.xml │ │ │ ├── frost_f_24.xml │ │ │ └── splash_screen.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ ├── strings_download.xml │ │ │ ├── strings_errors.xml │ │ │ ├── strings_intro.xml │ │ │ ├── strings_no_translate.xml │ │ │ ├── strings_play_store.xml │ │ │ ├── strings_pref_appearance.xml │ │ │ ├── strings_pref_behaviour.xml │ │ │ ├── strings_pref_debug.xml │ │ │ ├── strings_pref_experimental.xml │ │ │ ├── strings_pref_feed.xml │ │ │ ├── strings_pref_networks.xml │ │ │ ├── strings_pref_notifications.xml │ │ │ ├── strings_pref_security.xml │ │ │ ├── strings_preferences.xml │ │ │ ├── strings_web_context.xml │ │ │ └── themes.xml │ │ └── xml │ │ │ ├── file_paths.xml │ │ │ └── frost_backup_rules.xml │ └── sqldelight │ │ └── com │ │ └── pitchedapps │ │ └── frost │ │ └── db │ │ ├── accounts.sq │ │ └── notifications.sq │ └── web │ ├── .gitignore │ ├── README.md │ ├── package-lock.json │ ├── package.json │ ├── scss │ ├── core │ │ ├── _base.scss │ │ ├── _colors.scss │ │ └── _core_vars.scss │ ├── facebook │ │ ├── core │ │ │ ├── _core_bg.scss │ │ │ ├── _core_border.scss │ │ │ ├── _core_hider.scss │ │ │ ├── _core_messages.scss │ │ │ ├── _core_text.scss │ │ │ ├── _main.scss │ │ │ ├── _svg.scss │ │ │ └── core.scss │ │ └── themes │ │ │ ├── .gitignore │ │ │ ├── custom.scss │ │ │ ├── default.scss │ │ │ ├── material_amoled.scss │ │ │ ├── material_dark.scss │ │ │ ├── material_glass.scss │ │ │ └── material_light.scss │ ├── messenger │ │ ├── core │ │ │ ├── _core_bg.scss │ │ │ ├── _core_border.scss │ │ │ ├── _core_hider.scss │ │ │ ├── _core_text.scss │ │ │ ├── _main.scss │ │ │ └── core.scss │ │ └── themes │ │ │ ├── .gitignore │ │ │ ├── custom.scss │ │ │ ├── default.scss │ │ │ ├── material_amoled.scss │ │ │ ├── material_dark.scss │ │ │ ├── material_glass.scss │ │ │ └── material_light.scss │ └── palette │ │ ├── _custom.scss │ │ ├── _material_amoled.scss │ │ ├── _material_dark.scss │ │ ├── _material_glass.scss │ │ └── _material_light.scss │ ├── ts │ ├── auto_resize_textarea.ts │ ├── click_a.ts │ ├── click_debugger.ts │ ├── context_a.ts │ ├── document_watcher.ts │ ├── header_badges.ts │ ├── horizontal_scrolling.ts │ ├── media.ts │ ├── notif_msg.ts │ ├── scroll_stop.ts │ └── textarea_listener.ts │ ├── tsconfig.json │ └── typings │ └── frost.d.ts ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ ├── kotlin │ │ └── com │ │ │ └── pitchedapps │ │ │ └── frost │ │ │ ├── FrostTestApp.kt │ │ │ ├── StartActivityTest.kt │ │ │ ├── TestModules.kt │ │ │ ├── activities │ │ │ ├── AboutActivityTest.kt │ │ │ ├── DebugActivityTest.kt │ │ │ ├── FrostWebActivityTest.kt │ │ │ ├── ImageActivityTest.kt │ │ │ ├── IntroActivityTest.kt │ │ │ ├── LoginActivityTest.kt │ │ │ ├── MainActivityTest.kt │ │ │ ├── SelectorActivityTest.kt │ │ │ ├── SettingActivityTest.kt │ │ │ ├── TabCustomizerActivityTest.kt │ │ │ └── WebOverlayActivityTest.kt │ │ │ ├── db │ │ │ ├── BaseDbTest.kt │ │ │ ├── CacheDbTest.kt │ │ │ ├── CookieDbTest.kt │ │ │ ├── CookieMigrationTest.kt │ │ │ ├── GenericDbTest.kt │ │ │ └── NotificationDbTest.kt │ │ │ ├── facebook │ │ │ └── FbCookieTest.kt │ │ │ └── helper │ │ │ └── Helper.kt │ └── resources │ │ ├── bayer-pattern.jpg │ │ └── magenta.png │ ├── main │ ├── AndroidManifest.xml │ ├── kotlin │ │ └── com │ │ │ └── pitchedapps │ │ │ └── frost │ │ │ ├── FrostApp.kt │ │ │ ├── StartActivity.kt │ │ │ ├── activities │ │ │ ├── AboutActivity.kt │ │ │ ├── BaseActivity.kt │ │ │ ├── BaseMainActivity.kt │ │ │ ├── DebugActivity.kt │ │ │ ├── ImageActivity.kt │ │ │ ├── IntroActivity.kt │ │ │ ├── LoginActivity.kt │ │ │ ├── MainActivity.kt │ │ │ ├── SelectorActivity.kt │ │ │ ├── SettingsActivity.kt │ │ │ ├── TabCustomizerActivity.kt │ │ │ └── WebOverlayActivity.kt │ │ │ ├── contracts │ │ │ ├── ActivityContract.kt │ │ │ ├── DynamicUiContract.kt │ │ │ ├── FileChooser.kt │ │ │ ├── FrostContentContract.kt │ │ │ ├── FrostThemable.kt │ │ │ └── VideoViewHolder.kt │ │ │ ├── db │ │ │ ├── CacheDb.kt │ │ │ ├── CookiesDb.kt │ │ │ ├── DaoUtils.kt │ │ │ ├── Database.kt │ │ │ ├── GenericDb.kt │ │ │ └── NotificationDb.kt │ │ │ ├── debugger │ │ │ └── OfflineWebsite.kt │ │ │ ├── enums │ │ │ ├── FeedSort.kt │ │ │ ├── MainActivityLayout.kt │ │ │ ├── OverlayContext.kt │ │ │ └── Theme.kt │ │ │ ├── facebook │ │ │ ├── FbConst.kt │ │ │ ├── FbCookie.kt │ │ │ ├── FbItem.kt │ │ │ ├── FbRegex.kt │ │ │ ├── FbUrlFormatter.kt │ │ │ ├── parsers │ │ │ │ ├── BadgeParser.kt │ │ │ │ ├── FrostParser.kt │ │ │ │ ├── MessageParser.kt │ │ │ │ ├── NotifParser.kt │ │ │ │ └── SearchParser.kt │ │ │ └── requests │ │ │ │ ├── FbRequest.kt │ │ │ │ └── Images.kt │ │ │ ├── fragments │ │ │ ├── BaseFragment.kt │ │ │ ├── FragmentContract.kt │ │ │ ├── RecyclerFragmentBase.kt │ │ │ ├── RecyclerFragments.kt │ │ │ └── WebFragments.kt │ │ │ ├── glide │ │ │ └── GlideUtils.kt │ │ │ ├── iitems │ │ │ ├── GenericIItems.kt │ │ │ ├── NotificationIItem.kt │ │ │ └── TabIItem.kt │ │ │ ├── injectors │ │ │ ├── CssAsset.kt │ │ │ ├── CssHider.kt │ │ │ ├── JsActions.kt │ │ │ ├── JsAssets.kt │ │ │ ├── JsInjector.kt │ │ │ └── ThemeProvider.kt │ │ │ ├── intro │ │ │ ├── IntroFragmentTheme.kt │ │ │ ├── IntroImageFragments.kt │ │ │ └── IntroMainFragments.kt │ │ │ ├── prefs │ │ │ ├── OldPrefs.kt │ │ │ ├── Prefs.kt │ │ │ └── sections │ │ │ │ ├── BehaviourPrefs.kt │ │ │ │ ├── CorePrefs.kt │ │ │ │ ├── FeedPrefs.kt │ │ │ │ ├── NotifPrefs.kt │ │ │ │ ├── ShowcasePrefs.kt │ │ │ │ └── ThemePrefs.kt │ │ │ ├── services │ │ │ ├── BaseJobService.kt │ │ │ ├── FrostNotifications.kt │ │ │ ├── NotificationService.kt │ │ │ ├── NotificationUtils.kt │ │ │ └── UpdateReceiver.kt │ │ │ ├── settings │ │ │ ├── Appearance.kt │ │ │ ├── Behaviour.kt │ │ │ ├── Debug.kt │ │ │ ├── Experimental.kt │ │ │ ├── Feed.kt │ │ │ ├── Network.kt │ │ │ ├── Notifications.kt │ │ │ └── Security.kt │ │ │ ├── utils │ │ │ ├── AdBlocker.kt │ │ │ ├── AnimatedVectorDelegate.kt │ │ │ ├── BiometricUtils.kt │ │ │ ├── BuildUtils.kt │ │ │ ├── Const.kt │ │ │ ├── Downloader.kt │ │ │ ├── EnumUtils.kt │ │ │ ├── JsoupCleaner.kt │ │ │ ├── L.kt │ │ │ ├── TimeUtils.kt │ │ │ ├── Utils.kt │ │ │ └── WebContextMenu.kt │ │ │ ├── views │ │ │ ├── AccountItem.kt │ │ │ ├── BadgedIcon.kt │ │ │ ├── DragFrame.kt │ │ │ ├── FrostContentView.kt │ │ │ ├── FrostRecyclerView.kt │ │ │ ├── FrostVideoView.kt │ │ │ ├── FrostVideoViewer.kt │ │ │ ├── FrostViewPager.kt │ │ │ ├── FrostWebView.kt │ │ │ ├── KPrefTextSeekbar.kt │ │ │ ├── Keywords.kt │ │ │ └── SwipeRefreshLayout.kt │ │ │ ├── web │ │ │ ├── DebugWebView.kt │ │ │ ├── FrostChromeClients.kt │ │ │ ├── FrostJSI.kt │ │ │ ├── FrostRequestInterceptor.kt │ │ │ ├── FrostUrlOverlayValidator.kt │ │ │ ├── FrostWeb.kt │ │ │ ├── FrostWebViewClients.kt │ │ │ ├── FrostWebViewClients2.kt │ │ │ ├── LoginWebView.kt │ │ │ └── NestedWebView.kt │ │ │ └── widgets │ │ │ └── NotificationWidget.kt │ ├── play │ │ ├── contactEmail │ │ ├── defaultLanguage │ │ ├── en-US │ │ │ ├── listing │ │ │ │ ├── fulldescription │ │ │ │ ├── images │ │ │ │ │ ├── featureGraphic.png │ │ │ │ │ └── phoneScreenshots │ │ │ │ │ │ ├── frost_1_themes.png │ │ │ │ │ │ ├── frost_2_glass.png │ │ │ │ │ │ ├── frost_3_multi_accounts.png │ │ │ │ │ │ ├── frost_4_pip.png │ │ │ │ │ │ ├── frost_5_swipe.png │ │ │ │ │ │ └── frost_6_quick_links.png │ │ │ │ ├── shortdescription │ │ │ │ └── title │ │ │ └── whatsnew │ │ └── es-ES │ │ │ ├── listing │ │ │ ├── fulldescription │ │ │ ├── images │ │ │ │ ├── featureGraphic.png │ │ │ │ └── phoneScreenshots │ │ │ │ │ ├── frost_1_themes.png │ │ │ │ │ ├── frost_2_glass.png │ │ │ │ │ ├── frost_3_multi_accounts.png │ │ │ │ │ ├── frost_4_pip.png │ │ │ │ │ ├── frost_5_swipe.png │ │ │ │ │ └── frost_6_quick_links.png │ │ │ ├── shortdescription │ │ │ └── title │ │ │ └── whatsnew │ └── res │ │ ├── anim │ │ └── rotate_delta.xml │ │ ├── drawable-nodpi │ │ └── splash_logo.9.png │ │ ├── drawable │ │ ├── badge_background.xml │ │ ├── frost_f_200.xml │ │ ├── frost_f_24.xml │ │ ├── ic_action_cancel.xml │ │ ├── ic_fdroid_24.xml │ │ ├── intro_phone_case.xml │ │ ├── intro_phone_long_press.xml │ │ ├── intro_phone_nav.xml │ │ ├── intro_phone_screen.xml │ │ ├── intro_phone_tab.xml │ │ ├── nav_item_background.xml │ │ ├── notification_widget_preview.xml │ │ └── splash_screen.xml │ │ ├── layout │ │ ├── activity_debug.xml │ │ ├── activity_frame_wrapper.xml │ │ ├── activity_image.xml │ │ ├── activity_intro.xml │ │ ├── activity_invalid.xml │ │ ├── activity_login.xml │ │ ├── activity_main.xml │ │ ├── activity_main_bottom_tabs.xml │ │ ├── activity_main_drawer_wrapper.xml │ │ ├── activity_selector.xml │ │ ├── activity_tab_customizer.xml │ │ ├── activity_web_overlay.xml │ │ ├── iitem_context_menu.xml │ │ ├── iitem_header.xml │ │ ├── iitem_menu.xml │ │ ├── iitem_notification.xml │ │ ├── iitem_tab_preview.xml │ │ ├── iitem_text.xml │ │ ├── intro_end.xml │ │ ├── intro_image.xml │ │ ├── intro_theme.xml │ │ ├── intro_welcome.xml │ │ ├── item_about_links.xml │ │ ├── item_keyword.xml │ │ ├── login_webview.xml │ │ ├── view_account.xml │ │ ├── view_badged_icon.xml │ │ ├── view_content_base_recycler.xml │ │ ├── view_content_base_web.xml │ │ ├── view_content_recycler.xml │ │ ├── view_content_web.xml │ │ ├── view_keywords.xml │ │ ├── view_nav_header.xml │ │ ├── view_video.xml │ │ ├── widget_notification_item.xml │ │ └── widget_notifications.xml │ │ ├── menu │ │ ├── menu_main.xml │ │ ├── menu_settings.xml │ │ ├── menu_video.xml │ │ └── menu_web.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values-ar-rSA │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-ca-rES │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-cs-rCZ │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-da-rDK │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-de-rDE │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-dv-rMV │ │ └── strings.xml │ │ ├── values-el-rGR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ └── strings_web_context.xml │ │ ├── values-es-rES │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-fr-rFR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-gl-rES │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-gr-rGR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-hu-rHU │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-in-rID │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-it-rIT │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-ko-rKR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-ml-rIN │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-nl-rNL │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-no-rNO │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-pl-rPL │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-pt-rBR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-pt-rPT │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-ro-rRO │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-ru-rRU │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-sr-rSP │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-sv-rSE │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-th-rTH │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-tl-rPH │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-tr-rTR │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-uk-rUA │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-vi-rVN │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-zh-rCN │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values-zh-rTW │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ └── strings_web_context.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ ├── strings_download.xml │ │ ├── strings_errors.xml │ │ ├── strings_intro.xml │ │ ├── strings_no_translate.xml │ │ ├── strings_play_store.xml │ │ ├── strings_pref_appearance.xml │ │ ├── strings_pref_behaviour.xml │ │ ├── strings_pref_debug.xml │ │ ├── strings_pref_experimental.xml │ │ ├── strings_pref_feed.xml │ │ ├── strings_pref_networks.xml │ │ ├── strings_pref_notifications.xml │ │ ├── strings_pref_security.xml │ │ ├── strings_preferences.xml │ │ ├── strings_web_context.xml │ │ └── styles.xml │ │ └── xml │ │ ├── file_paths.xml │ │ ├── frost_backup_rules.xml │ │ ├── frost_changelog.xml │ │ ├── frost_faq.xml │ │ └── notification_widget_info.xml │ ├── schemas │ ├── com.pitchedapps.frost.db.FrostPrivateDatabase │ │ ├── 1.json │ │ └── 2.json │ └── com.pitchedapps.frost.db.FrostPublicDatabase │ │ └── 1.json │ ├── test │ └── kotlin │ │ ├── android │ │ └── util │ │ │ └── Log.java │ │ └── com │ │ └── pitchedapps │ │ └── frost │ │ ├── debugger │ │ └── OfflineWebsiteTest.kt │ │ ├── facebook │ │ ├── FbConstTest.kt │ │ ├── FbDomTest.kt │ │ ├── FbRegexTest.kt │ │ ├── FbUrlTest.kt │ │ ├── parsers │ │ │ └── FbParseTest.kt │ │ └── requests │ │ │ └── FbFullImageTest.kt │ │ ├── injectors │ │ ├── InjectorTest.kt │ │ ├── JsAssetsTest.kt │ │ ├── TagObfuscatorTest.kt │ │ └── ThemeProviderTest.kt │ │ ├── internal │ │ └── Internal.kt │ │ ├── prefs │ │ └── PrefsTest.kt │ │ └── utils │ │ ├── BuildUtilsTest.kt │ │ ├── CoroutineTest.kt │ │ ├── JsoupCleanerTest.kt │ │ ├── StringEscapeUtilsTest.kt │ │ └── UrlTests.kt │ └── web │ ├── .gitignore │ ├── .idea │ ├── compiler.xml │ ├── encodings.xml │ ├── misc.xml │ ├── modules.xml │ ├── vcs.xml │ └── watcherTasks.xml │ ├── README.md │ ├── assets │ ├── adblock.txt │ └── pgl.yoyo.org.txt │ ├── package-lock.json │ ├── package.json │ ├── scss │ ├── core │ │ ├── _base.scss │ │ ├── _colors.scss │ │ └── _core_vars.scss │ ├── facebook │ │ ├── core │ │ │ ├── _core_bg.scss │ │ │ ├── _core_border.scss │ │ │ ├── _core_hider.scss │ │ │ ├── _core_messages.scss │ │ │ ├── _core_text.scss │ │ │ ├── _main.scss │ │ │ ├── _svg.scss │ │ │ └── core.scss │ │ └── themes │ │ │ ├── .gitignore │ │ │ ├── custom.scss │ │ │ ├── default.scss │ │ │ ├── material_amoled.scss │ │ │ ├── material_dark.scss │ │ │ ├── material_glass.scss │ │ │ └── material_light.scss │ ├── messenger │ │ ├── core │ │ │ ├── _core_bg.scss │ │ │ ├── _core_border.scss │ │ │ ├── _core_hider.scss │ │ │ ├── _core_text.scss │ │ │ ├── _main.scss │ │ │ └── core.scss │ │ └── themes │ │ │ ├── .gitignore │ │ │ ├── custom.scss │ │ │ ├── default.scss │ │ │ ├── material_amoled.scss │ │ │ ├── material_dark.scss │ │ │ ├── material_glass.scss │ │ │ └── material_light.scss │ └── palette │ │ ├── _custom.scss │ │ ├── _material_amoled.scss │ │ ├── _material_dark.scss │ │ ├── _material_glass.scss │ │ └── _material_light.scss │ ├── ts │ ├── auto_resize_textarea.ts │ ├── click_a.ts │ ├── click_debugger.ts │ ├── context_a.ts │ ├── document_watcher.ts │ ├── header_badges.ts │ ├── horizontal_scrolling.ts │ ├── media.ts │ ├── notif_msg.ts │ ├── scroll_stop.ts │ └── textarea_listener.ts │ ├── tsconfig.json │ └── typings │ └── frost.d.ts ├── build.gradle ├── buildSrc-old ├── .gitignore ├── build.gradle.kts └── src │ └── main │ └── kotlin │ └── Versions.kt ├── crowdin.yml ├── docs ├── Changelog.md ├── Compose.md ├── Listing.md ├── Privacy.md ├── Theming.md └── img │ └── inspect_element.png ├── favicon ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── browserconfig.xml ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── mstile-144x144.png ├── mstile-150x150.png ├── mstile-310x150.png ├── mstile-310x310.png ├── mstile-70x70.png ├── safari-pinned-tab.svg └── site.webmanifest ├── files ├── .gitignore ├── debug.keystore ├── frost_github.tar.gpg ├── github_actions.sh ├── translation_migration.sh ├── travis.sh └── update-dev.txt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── priv.sample.properties ├── settings.gradle.kts ├── spotless.gradle └── spotless.license.kt /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: allanwang # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug, unverified 6 | assignees: AllanWang 7 | 8 | --- 9 | 10 | - [ ] I have verified that the bug does not occur in my mobile browser (at https://touch.facebook.com/) 11 | 12 | **Describe the bug** 13 | A clear and concise description of what the bug is. 14 | 15 | **To Reproduce** 16 | Steps to reproduce the behaviour: 17 | 1. Go to '...' 18 | 2. Click on '....' 19 | 3. Scroll down to '....' 20 | 4. See error 21 | 22 | **Details (please provide at least the app version):** 23 | - App Version: 24 | - Device: 25 | - Android Version: 26 | 27 | **Logs/Screenshots:** 28 | 29 | 30 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: Propose a new feature 4 | title: '' 5 | labels: feature request 6 | assignees: AllanWang 7 | 8 | --- 9 | 10 | **Describe the feature** 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/theme-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Theme report 3 | about: Problem with Frost's Theme 4 | title: '' 5 | labels: CSS 6 | assignees: AllanWang 7 | 8 | --- 9 | 10 | **Description** 11 | 12 | 13 | 14 | **Details (please provide at least the app version):** 15 | - App Version: 16 | - Device: 17 | - Android Version: 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /priv.properties 3 | /local.properties 4 | /signing.properties 5 | /crowdin.properties 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | *.min.css 11 | .sass-cache/ 12 | /projectFilesBackup 13 | 14 | # Intellij 15 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 16 | *.iml 17 | .idea/**/workspace.xml 18 | .idea/**/tasks.xml 19 | .idea/**/usage.statistics.xml 20 | .idea/**/dictionaries 21 | .idea/**/shelf 22 | .idea/**/contentModel.xml 23 | .idea/**/dataSources/ 24 | .idea/**/dataSources.ids 25 | .idea/**/dataSources.local.xml 26 | .idea/**/sqlDataSources.xml 27 | .idea/**/dynamic.xml 28 | .idea/**/uiDesigner.xml 29 | .idea/**/dbnavigator.xml 30 | .idea/**/gradle.xml 31 | .idea/**/libraries 32 | .idea/**/assetWizardSettings.xml 33 | .idea/**/caches 34 | .idea/deploymentTargetDropDown.xml 35 | .idea/modules.xml 36 | .idea/modules -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/ktlint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /.idea/kotlinScripting.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | -------------------------------------------------------------------------------- /.idea/ktfmt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Frost for Facebook 2 | description: An extensive and functional third party app for Facebook 3 | theme: jekyll-theme-minimal -------------------------------------------------------------------------------- /app-compose/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app-compose/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app-compose/src/main/proto/account.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.pitchedapps.frost.proto"; 4 | option java_multiple_files = true; 5 | 6 | message Account { 7 | // Current account id 8 | optional int64 account_id = 1; 9 | } -------------------------------------------------------------------------------- /app-compose/src/main/proto/settings/appearance.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | option java_package = "com.pitchedapps.frost.proto.settings"; 4 | option java_multiple_files = true; 5 | 6 | message Appearance { 7 | // Tab identifiers for main screen 8 | repeated string main_tabs = 1; 9 | 10 | enum MainTabLayout { 11 | TOP = 0; 12 | BOTTOM = 1; 13 | // Bare bones layout without custom tabs 14 | COMPACT = 2; 15 | } 16 | 17 | MainTabLayout main_tab_layout = 2; 18 | } -------------------------------------------------------------------------------- /app-compose/src/main/res/drawable-nodpi/splash_logo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/drawable-nodpi/splash_logo.9.png -------------------------------------------------------------------------------- /app-compose/src/main/res/drawable/badge_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app-compose/src/main/res/drawable/frost_f_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | -------------------------------------------------------------------------------- /app-compose/src/main/res/drawable/frost_f_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | -------------------------------------------------------------------------------- /app-compose/src/main/res/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app-compose/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app-compose/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app-compose/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/facebook_blue 4 | #3b5998 5 | #6183C8 6 | #2e4b86 7 | @color/facebook_blue 8 | 9 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Pick Image 4 | Download 5 | Downloading… 6 | Image downloaded 7 | Image failed to download 8 | Failed to share image 9 | 10 | Downloading Video 11 | Video Downloaded 12 | Downloading File 13 | File Downloaded 14 | 15 | Invalid download attempt 16 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restoring purchases… 5 | 6 | Uh Oh 7 | Reload 8 | 9 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Experimental features may be unstable and may never make it to production. Use at your own risk, send feedback, and feel free to disable them if they don\'t work well. 4 | 5 | Verbose Logging 6 | Enable verbose logging to help with crash reports. Logging will only be sent once an error is encountered, so repeat the issue to notify the dev. This will automatically be disabled if the app restarts. 7 | Restart Frost 8 | Launch a cold restart for the application. 9 | 10 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | Disable images on metered network. 3 | If a metered network is detected, Frost will automatically stop all images and videos from loading. 4 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Security preferences help protect access to Frost from the UI. However, note that local data is not encrypted, and can still be accessed by rooted users. 4 | Enable biometrics 5 | Require biometric authentication after inactivity 6 | -------------------------------------------------------------------------------- /app-compose/src/main/res/values/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Refresh 5 | Share Link 6 | Local Frost Service 7 | Open Link 8 | Copy Link 9 | Copy Text 10 | Frost for Facebook: Image Link Debug 11 | Open in browser 12 | -------------------------------------------------------------------------------- /app-compose/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | -------------------------------------------------------------------------------- /app-compose/src/main/res/xml/frost_backup_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | -------------------------------------------------------------------------------- /app-compose/src/main/sqldelight/com/pitchedapps/frost/db/accounts.sq: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS account ( 2 | id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, 3 | name TEXT, 4 | avatar TEXT, 5 | facebook_cookie TEXT, 6 | messenger_cookie TEXT 7 | ); 8 | 9 | count: 10 | SELECT COUNT(*) FROM account; 11 | 12 | insertNew: 13 | INSERT INTO account DEFAULT VALUES; 14 | 15 | insert: 16 | INSERT OR REPLACE INTO account (id, name, avatar, facebook_cookie, messenger_cookie) VALUES (?, ?, ?, ?, ?); 17 | 18 | delete { 19 | DELETE FROM account WHERE id == (:id); 20 | DELETE FROM notifications WHERE id == (:id); 21 | } 22 | 23 | select: 24 | SELECT * 25 | FROM account WHERE id == ?; 26 | 27 | selectAll: 28 | SELECT * 29 | FROM account; 30 | 31 | selectAllDisplay: 32 | SELECT id, name, avatar 33 | FROM account; 34 | -------------------------------------------------------------------------------- /app-compose/src/main/sqldelight/com/pitchedapps/frost/db/notifications.sq: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS notifications ( 2 | id INTEGER NOT NULL PRIMARY KEY, 3 | facebook_notifications INTEGER, 4 | facebook_messages INTEGER, 5 | facebook_friends INTEGER, 6 | messenger_notifications INTEGER 7 | ); 8 | 9 | insertNew: 10 | INSERT OR IGNORE INTO notifications (id) VALUES (?); 11 | 12 | insert: 13 | INSERT OR REPLACE INTO notifications (id,facebook_notifications, facebook_messages, facebook_friends, messenger_notifications) VALUES (?,?,?,?,?); 14 | 15 | select: 16 | SELECT * 17 | FROM notifications WHERE id == ?; 18 | 19 | selectAll: 20 | SELECT * 21 | FROM notifications; -------------------------------------------------------------------------------- /app-compose/src/web/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .sass-cache/ 3 | 4 | *.js 5 | *.css 6 | 7 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 8 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 9 | 10 | .idea/ 11 | # User-specific stuff 12 | .idea/**/workspace.xml 13 | .idea/**/tasks.xml 14 | .idea/**/usage.statistics.xml 15 | .idea/**/dictionaries 16 | .idea/**/shelf 17 | 18 | # Generated files 19 | .idea/**/contentModel.xml 20 | 21 | # Sensitive or high-churn files 22 | .idea/**/dataSources/ 23 | .idea/**/dataSources.ids 24 | .idea/**/dataSources.local.xml 25 | .idea/**/sqlDataSources.xml 26 | .idea/**/dynamic.xml 27 | .idea/**/uiDesigner.xml 28 | .idea/**/dbnavigator.xml 29 | -------------------------------------------------------------------------------- /app-compose/src/web/README.md: -------------------------------------------------------------------------------- 1 | # Frost for Facebook Assets 2 | 3 | This is the root project for the assets, which is primarily css and js. 4 | The assets that will be added to Android are within the `assets` folder. 5 | -------------------------------------------------------------------------------- /app-compose/src/web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "compile": "tsc -p tsconfig.json && sass --no-source-map --style compressed --update scss:assets/frost/css", 4 | "scss-watch": "sass --no-source-map --style compressed --update scss:assets/frost/css --watch" 5 | }, 6 | "license": "MPL-2.0", 7 | "repository": { 8 | "url": "https://github.com/AllanWang/Frost-for-Facebook" 9 | }, 10 | "dependencies": { 11 | "@types/firefox-webext-browser": "^111.0.1", 12 | "sass": "^1.63.4", 13 | "typescript": "^5.1.3" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/core/_colors.scss: -------------------------------------------------------------------------------- 1 | $bg_transparent: rgba(#f0f, 0.02) !default; 2 | 3 | //Keep above as first line so partials aren't compiled 4 | //Our default colors are test colors; production files should always import the actual colors 5 | 6 | $text: #d7b0d7 !default; 7 | $text_disabled: rgba($text, 0.6) !default; 8 | // must be visible with accent as the background 9 | $accent_text: #76d7c2 !default; 10 | $link: #9266d5 !default; 11 | $accent: #980008 !default; 12 | $background: #451515 !default; 13 | // background2 must be transparent 14 | $background2: rgba(lighten($background, 35%), 0.35) !default; //Also change ratio in material_light 15 | $bg_opaque: rgba($background, 1.0) !default; 16 | $bg_opaque2: rgba($background2, 1.0) !default; 17 | $card: #239645 !default; 18 | $tint: #ff4682 !default; // must be different from $background 19 | $divider: rgba($text, 0.3) !default; 20 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/core/_core_hider.scss: -------------------------------------------------------------------------------- 1 | [data-sigil=m_login_upsell], 2 | [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { 3 | display: none !important; 4 | } -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/core/_core_messages.scss: -------------------------------------------------------------------------------- 1 | // Not all message related components are here; only the main ones. 2 | // Borders for instance are merged into core_border 3 | 4 | // Other person's message bubble 5 | ._34ee { 6 | background: $background2 !important; 7 | color: $text !important; 8 | 9 | } 10 | 11 | // Your message bubble; order matters 12 | ._34em ._34ee { 13 | background: $accent !important; 14 | color: $accent_text !important; 15 | } 16 | 17 | // Sticker page 18 | ._5as0, ._5cni, ._5as2 { 19 | background: $bg_opaque !important; 20 | } -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/core/_main.scss: -------------------------------------------------------------------------------- 1 | @import "core"; 2 | @import "svg"; 3 | 4 | //this file is used as the base for all themes 5 | //given that svgs take a lot of characters, we won't compile them when testing 6 | //therefore we use the core scss 7 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/.gitignore: -------------------------------------------------------------------------------- 1 | test.scss 2 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/custom.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/custom"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/default.scss: -------------------------------------------------------------------------------- 1 | @import "../core/core_hider"; 2 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/material_amoled.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_amoled"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/material_dark.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_dark"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/material_glass.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_glass"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/facebook/themes/material_light.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_light"; 2 | @import "../core/main"; -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/_core_bg.scss: -------------------------------------------------------------------------------- 1 | html, body, :root, #root, 2 | [style*="background-color: #FFFFFF"], [style*="background-color: #E4E6EB"] { 3 | background: $bg_transparent !important; 4 | } 5 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/_core_border.scss: -------------------------------------------------------------------------------- 1 | [role="navigation"] { 2 | border-right: 2px solid $bg_opaque2 !important; 3 | } -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/_core_hider.scss: -------------------------------------------------------------------------------- 1 | // Sizing adjustments 2 | [role="navigation"] { 3 | .rq0escxv.l9j0dhe7.du4w35lb.j83agx80.g5gj957u.rj1gh0hx.buofh1pr.hpfvmrgz.i1fnvgqd.bp9cbjyn.owycx6da.btwxx1t3.dflh9lhu.scb9dxdr.sj5x9vvc.cxgpxx05.sn0e7ne5.f6rbj1fe.l3ldwz01 /* New! Messenger app for windows */, 4 | .rq0escxv.l9j0dhe7.du4w35lb.n851cfcs.aahdfvyu /* Search messenger */, 5 | .wkznzc2l /* Top left chat + menu entry */ { 6 | display: none !important; 7 | } 8 | } 9 | 10 | header[role="banner"] /* login banner */, 11 | ._90px._9gb7 /* login bottom banner */, 12 | .rq0escxv.l9j0dhe7.du4w35lb.j83agx80.cbu4d94t.pfnyh3mw.d2edcug0.hpfvmrgz.p8fzw8mz.pcp91wgn.iuny7tx3.ipjc6fyt /* Top bar call video info icons */, 13 | .kuivcneq /* Right sidebar */ { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/_core_text.scss: -------------------------------------------------------------------------------- 1 | html, body, input { 2 | color: $text !important; 3 | } -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/_main.scss: -------------------------------------------------------------------------------- 1 | @import "core"; 2 | 3 | //this file is used as the base for all messenger themes 4 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/core/core.scss: -------------------------------------------------------------------------------- 1 | @import "../../core/colors"; 2 | @import "../../core/base"; 3 | @import "../../core/core_vars"; 4 | @import "core_text"; 5 | @import "core_bg"; 6 | @import "core_border"; 7 | @import "core_hider"; 8 | 9 | @include placeholder { 10 | color: $text_disabled !important; 11 | } -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/.gitignore: -------------------------------------------------------------------------------- 1 | test.scss 2 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/custom.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/custom"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/default.scss: -------------------------------------------------------------------------------- 1 | @import "../core/core_hider"; 2 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/material_amoled.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_amoled"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/material_dark.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_dark"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/material_glass.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_glass"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/messenger/themes/material_light.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_light"; 2 | @import "../core/main"; -------------------------------------------------------------------------------- /app-compose/src/web/scss/palette/_custom.scss: -------------------------------------------------------------------------------- 1 | $bg_transparent: unquote('$BT$'); 2 | $text: unquote('$T$'); 3 | $text_disabled: unquote('$TD$'); 4 | $link: unquote('$TT$'); 5 | $accent: unquote('$A$'); 6 | $accent_text: unquote('$AT$'); 7 | $background: unquote('$B$'); 8 | $background2: unquote('$BBT$'); 9 | $bg_opaque: unquote('$O$'); 10 | $bg_opaque2: unquote('$OO$'); 11 | $divider: unquote('$D$'); 12 | $card: unquote('$C$'); 13 | $tint: unquote('$TI$'); 14 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/palette/_material_amoled.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: #000; 6 | $background2: rgba($background, 0.35); 7 | $bg_transparent: $background; 8 | $card: $background2; 9 | $tint: rgba(#fff, 0.2); 10 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/palette/_material_dark.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: #303030; 6 | $bg_transparent: $background; 7 | $card: #353535; 8 | $tint: rgba(#fff, 0.2); 9 | -------------------------------------------------------------------------------- /app-compose/src/web/scss/palette/_material_glass.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: rgba(#000, 0.1); 6 | $bg_transparent: transparent; 7 | $card: rgba(#000, 0.25); 8 | $tint: rgba(#fff, 0.15); -------------------------------------------------------------------------------- /app-compose/src/web/scss/palette/_material_light.scss: -------------------------------------------------------------------------------- 1 | $text: #000; 2 | $accent_text: #fff; 3 | $link: #3b5998; 4 | $accent: #3b5998; 5 | $background: #fafafa; 6 | // this is actually the inverse of material light (bg should be gray, cards should be white), 7 | // but it looks better than the alternative 8 | $background2: rgba(darken($background, 8%), 0.35); 9 | 10 | $bg_transparent: $background; 11 | 12 | $card: #fff; 13 | $tint: #ddd; -------------------------------------------------------------------------------- /app-compose/src/web/ts/click_debugger.ts: -------------------------------------------------------------------------------- 1 | // For desktop only 2 | 3 | (function () { 4 | const _frostAContext = (e: Event) => { 5 | // Commonality; check for valid target 6 | const element = e.target || e.currentTarget || e.srcElement; 7 | if (!(element instanceof Element)) { 8 | console.log("No element found"); 9 | return 10 | } 11 | console.log(`Clicked element ${element.tagName} ${element.className}`); 12 | }; 13 | 14 | document.addEventListener('contextmenu', _frostAContext, true); 15 | }).call(undefined); 16 | -------------------------------------------------------------------------------- /app-compose/src/web/ts/document_watcher.ts: -------------------------------------------------------------------------------- 1 | // Emit key once half the viewport is covered 2 | (function () { 3 | const isReady = () => { 4 | return document.body.scrollHeight > innerHeight + 100 5 | }; 6 | 7 | if (isReady()) { 8 | console.log('Already ready'); 9 | Frost.isReady(); 10 | return 11 | } 12 | 13 | console.log('Injected document watcher'); 14 | 15 | const observer = new MutationObserver(() => { 16 | if (isReady()) { 17 | observer.disconnect(); 18 | Frost.isReady(); 19 | console.log(`Documented surpassed height in ${performance.now()}`); 20 | } 21 | }); 22 | 23 | observer.observe(document, { 24 | childList: true, 25 | subtree: true 26 | }) 27 | }).call(undefined); 28 | -------------------------------------------------------------------------------- /app-compose/src/web/ts/header_badges.ts: -------------------------------------------------------------------------------- 1 | // Fetches the header contents if it exists 2 | (function() { 3 | const header = document.getElementById('header'); 4 | if (header) { 5 | Frost.handleHeader(header.outerHTML); 6 | } 7 | }).call(undefined); 8 | -------------------------------------------------------------------------------- /app-compose/src/web/ts/notif_msg.ts: -------------------------------------------------------------------------------- 1 | // Binds callback to an invisible webview to take in the search events 2 | (function () { 3 | let finished = false; 4 | const x = new MutationObserver(() => { 5 | const _f_thread = document.querySelector('#threadlist_rows'); 6 | if (!_f_thread) { 7 | return 8 | } 9 | console.log(`Found message threads ${_f_thread.outerHTML}`); 10 | Frost.handleHtml(_f_thread.outerHTML); 11 | finished = true; 12 | x.disconnect(); 13 | }); 14 | x.observe(document, { 15 | childList: true, 16 | subtree: true 17 | }); 18 | setTimeout(() => { 19 | if (!finished) { 20 | finished = true; 21 | console.log('Message thread timeout cancellation'); 22 | Frost.handleHtml("") 23 | } 24 | }, 20000); 25 | }).call(undefined); 26 | -------------------------------------------------------------------------------- /app-compose/src/web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | "strict": true, 7 | "allowJs": true, 8 | "skipLibCheck": true, 9 | "forceConsistentCasingInFileNames": true, 10 | "lib": [ 11 | "ES6", 12 | "dom" 13 | ], 14 | "strictNullChecks": true, 15 | "noImplicitAny": true, 16 | "allowUnreachableCode": true, 17 | "allowUnusedLabels": true, 18 | "removeComments": true, 19 | "outDir": "assets/frost/js" 20 | }, 21 | "include": [ 22 | "ts", 23 | "typings" 24 | ] 25 | } -------------------------------------------------------------------------------- /app-compose/src/web/typings/frost.d.ts: -------------------------------------------------------------------------------- 1 | declare interface FrostJSI { 2 | loadUrl(url: string | null): boolean 3 | 4 | loadVideo(url: string | null, isGif: boolean): boolean 5 | 6 | reloadBaseUrl(animate: boolean) 7 | 8 | contextMenu(url: string | null, text: string | null) 9 | 10 | longClick(start: boolean) 11 | 12 | disableSwipeRefresh(disable: boolean) 13 | 14 | loadLogin() 15 | 16 | loadImage(imageUrl: string, text: string | null) 17 | 18 | emit(flag: number) 19 | 20 | isReady() 21 | 22 | handleHtml(html: string | null) 23 | 24 | handleHeader(html: string | null) 25 | 26 | allowHorizontalScrolling(enable: boolean) 27 | 28 | setScrolling(scrolling: boolean) 29 | 30 | isScrolling(): boolean 31 | } 32 | 33 | declare var Frost: FrostJSI; 34 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /app/build 3 | /src/test/resources/priv 4 | fabric.properties 5 | *_test.compact.css 6 | -------------------------------------------------------------------------------- /app/src/androidTest/resources/bayer-pattern.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/androidTest/resources/bayer-pattern.jpg -------------------------------------------------------------------------------- /app/src/androidTest/resources/magenta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/androidTest/resources/magenta.png -------------------------------------------------------------------------------- /app/src/main/play/contactEmail: -------------------------------------------------------------------------------- 1 | pitchedapps@gmail.com -------------------------------------------------------------------------------- /app/src/main/play/defaultLanguage: -------------------------------------------------------------------------------- 1 | en-US -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/featureGraphic.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_1_themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_1_themes.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_2_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_2_glass.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_3_multi_accounts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_3_multi_accounts.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_4_pip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_4_pip.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_5_swipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_5_swipe.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/images/phoneScreenshots/frost_6_quick_links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/en-US/listing/images/phoneScreenshots/frost_6_quick_links.png -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/shortdescription: -------------------------------------------------------------------------------- 1 | A fast and extensive third party wrapper for Facebook. -------------------------------------------------------------------------------- /app/src/main/play/en-US/listing/title: -------------------------------------------------------------------------------- 1 | Frost for Facebook -------------------------------------------------------------------------------- /app/src/main/play/en-US/whatsnew: -------------------------------------------------------------------------------- 1 | v3.2.0 2 | 3 | * Improve loading process 4 | * Add option to hide recommended for you posts 5 | * Fix menu tab loading 6 | * Add option to disable swipe to refresh (settings > behaviour) -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/featureGraphic.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_1_themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_1_themes.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_2_glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_2_glass.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_3_multi_accounts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_3_multi_accounts.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_4_pip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_4_pip.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_5_swipe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_5_swipe.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_6_quick_links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/play/es-ES/listing/images/phoneScreenshots/frost_6_quick_links.png -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/shortdescription: -------------------------------------------------------------------------------- 1 | Un cliente para Facebook rápido y extensivo. -------------------------------------------------------------------------------- /app/src/main/play/es-ES/listing/title: -------------------------------------------------------------------------------- 1 | Frost para Facebook -------------------------------------------------------------------------------- /app/src/main/play/es-ES/whatsnew: -------------------------------------------------------------------------------- 1 | El registro detallado de los cambios se encuentra en la app, o en https://github.com/AllanWang/Frost-for-Facebook/blob/dev/docs/Changelog.md. -------------------------------------------------------------------------------- /app/src/main/res/anim/rotate_delta.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-nodpi/splash_logo.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/drawable-nodpi/splash_logo.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/badge_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/frost_f_200.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/frost_f_24.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_action_cancel.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/intro_phone_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/nav_item_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/splash_screen.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_frame_wrapper.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/iitem_context_menu.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/iitem_header.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/iitem_tab_preview.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/src/main/res/layout/iitem_text.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/item_about_links.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_content_recycler.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/view_content_web.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_settings.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 11 | 12 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_video.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 9 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_web.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 15 | 16 | 20 | 21 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | اختيار صورة 5 | تحميل 6 | جاري التحميل… 7 | تم حفظ الصورة 8 | فشل في تحميل الصورة 9 | فشل في مشاركة الصورة 10 | جارِ حفظ مقطع الفيديو 11 | تم حفظ الفيديو 12 | جارِ حفظ الملف 13 | تم حفظ الملف 14 | محاولة التحميل فاشلة 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | جارِ استعادة المشتريات… 5 | أوبس 6 | إعادة التحميل 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | الميزات التجريبية قد تكون غير مستقرة، وقد لا تصل إلى الإنتاج. استخدمها على مسؤوليتك الخاصة وإرسل ردود الفعل، ولا تتردد في تعطيلها إذا كانت لا تعمل بشكل جيد. 5 | التسجيل المطول 6 | تمكين خاصية التسجيل المطول للمساعدة في تقارير الأعطال. سترسل التسجيلات فقط عند حدوث أخطاء، لهذا كرر الخطأ لإخطار المطور. سيتم تلقائياً تعطيلها إذا تمت إعادة تشغيل التطبيق. 7 | إعادة تشغيل Frost 8 | إعادة تشغيل خفيف للتطبيق. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | قم بتعطيل الصور على الشبكة المحددة. 5 | إذا كنت متصلاً عبر بيانات الجوال ، فلن يقوم Frost بتنزيل أي صور أو مقاطع فيديو. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | إعدادات الأمان تساعد علي تأمين الوصول لفروست خلال واجهة المستخدم. و لكن البيانات المحلية ليست مشفرة و يمكن لأي مستخدم روت قراءتها و تعديلها. 5 | فعّل القياسات الحيوية 6 | تطَلَّب المصادقة الحيوية بعد الخمول 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar-rSA/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | مشاركة الرّابط 5 | فتح الرابط 6 | نسخ رابط 7 | نسخ النص 8 | افتح في المتصفح 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Trieu una imatge 5 | Baixa 6 | S\'està baixant… 7 | Imatge baixada 8 | No s\'ha pogut baixar la imatge 9 | No s\'ha pogut compartir la imatge 10 | S\'està baixant el vídeo 11 | S\'ha baixat el vídeo 12 | S\'està baixant el fitxer 13 | S\'ha baixat el fitxer 14 | L\'intent de baixada no és vàlid 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restauració de compres… 5 | Vaja! 6 | Recarrega 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Secció de depuració activada! Torneu als ajustos. 5 | La secció de depuració ja és activa. Torneu als ajustos. 6 | Informe incomplet 7 | Depura des de la web 8 | Navega a la pàgina amb problemes i tramet els recursos per a la depuració. 9 | Anàlisi de dades 10 | Analitzadors de depuració 11 | Executa un dels analitzadors disponibles per a depurar les dades de resposta 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Desactiva imatges en les xarxes de dades limitades. 5 | Si es detecta una xarxa de dades limitades, Frost deixa de carregar imatges i vídeos automàticament. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Les preferències de seguretat ajuden a evitar l\'accés a Frost des de la UI. Noteu, però, que les dades locals no estan xifrades i els usuaris «root» hi poden accedir. 5 | Activa la biometria 6 | Requereix autenticació biomètrica després d\'inactivitat 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca-rES/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Comparteix l\'enllaç 5 | Obrir l\'enllaç 6 | Copia l\'enllaç 7 | Copia el text 8 | Obre al navegador 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs-rCZ/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Zvolit obrázek 5 | Stáhnout 6 | Stahování… 7 | Obrázek byl stažen 8 | Obrázek se nepodařilo stáhnout 9 | Sdílení obrázku se nezdařilo 10 | Stahování videa 11 | Video bylo staženo 12 | Stahování souboru 13 | Soubor se stáhl 14 | Pokus o stažení byl neúspěšný 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs-rCZ/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Obnovení nákupů… 5 | Uh Oh 6 | Načíst znovu 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs-rCZ/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Experimentální nastavení mohou způsobovat problémy a být bez varování odstraněna. Povolte je jen na vlastní nebezpečí a dejte vědět vývojářům jak fungují. 5 | Rozšířené logování 6 | Povolit detailní protokolování v hlášeních o pádu aplikace. Pošle vývojářům hlášení chyby při jejím výskytu. Toto nastavení se automaticky vypne při restartu aplikace. 7 | Restartovat Frost 8 | Natvrdo restartovat aplikaci. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs-rCZ/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Nezobrazovat obrázky přes placené datové připojení. 5 | Pokud jste připojeni přes mobilní data, Frost nebude stahovat žádné obrázky ani videa. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs-rCZ/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sdílet odkaz 5 | Otevřít odkaz 6 | Kopírovat odkaz 7 | Kopírovat Text 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-da-rDK/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Vælg billede 5 | Overfør 6 | Overfører… 7 | Billede overført 8 | Billede blev ikke overført 9 | Billedet blev ikke delt 10 | Overfører video 11 | Video overført 12 | Overfører fil 13 | Fil overført 14 | Ugyldigt overførsel forsøg 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-da-rDK/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Gendanner køb… 5 | Åh Nej 6 | Genindlæs 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-da-rDK/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Eksperimentelle funktioner kan være ustabile og bliver muligvis aldrig sat i produktion. Brug foregår på eget ansvar, send feedback og deaktivér dem endelig, hvis de ikke fungerer godt. 5 | Detaljeret logføring 6 | Aktivér detaljeret logføring for at hjælpe med nedbrudsrapporter. Log-filer vil kun blive sent ved fejl, så gentag den fejlen for at underrette udvikleren. Dette bliver automatisk deaktiveret, når app\'en genstartes. 7 | Genstart Frost 8 | Foretag en koldstart af applikationen. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-da-rDK/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deaktivér billeder på forbrugsafregnede netværk. 5 | Hvis det at det nuværende netværk er forbrugsafregnet, vil Frost ikke automatisk hente billeder og videoer. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-da-rDK/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Del link 5 | Åbn link 6 | Kopier link 7 | Kopier tekst 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Foto auswählen 5 | Downloaden 6 | Downloade… 7 | Foto heruntergeladen 8 | Fehler beim Download des Fotos 9 | Fehler beim teilen des Bildes 10 | Video wird heruntergeladen 11 | Video heruntergeladen 12 | Datei wird heruntergeladen 13 | Datei heruntergeladen 14 | Ungültige Download-URL 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | In-App Einkäufe werden wiederhergestellt… 5 | Huch 6 | Neu laden 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deaktiviere Bilder bei mobiler Datennutzung. 5 | Wird ein mobiles Netzwerk erkannt, wird Frost automatisch stoppen Bilder und Videos zu laden. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sicherheitseinstellungen helfen den Zugriff auf Frost vor der UI zu schützen. Beachten Sie jedoch, dass lokale Daten nicht verschlüsselt sind und von rooted Benutzern trotzdem aufgerufen werden können. 5 | Biometrie aktivieren 6 | Erforderlich biometrische Authentifizierung nach Inaktivität 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-de-rDE/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Link teilen 5 | Öffne Link 6 | Link kopieren 7 | Kopiere Text 8 | Im Browser öffnen 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-dv-rMV/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Skip 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-el-rGR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Επιλέξετε εικόνα 5 | Λήψη 6 | Γίνεται λήψη… 7 | Η εικόνα λήφθηκε 8 | Απέτυχε η λήψη της εικόνας 9 | Απέτυχε η κοινοποίηση της εικόνας 10 | Το βίντεο κατεβαίνει 11 | Το βίντεο κατέβηκε 12 | Το αρχείο κατεβαίνει 13 | Το αρχείο κατέβηκε 14 | Μη έγκυρη προσπάθεια λήψης 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-el-rGR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Επαναφορά αγορών… 5 | Ουπς 6 | Επαναφόρτωση 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-el-rGR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Απενεργοποίηση εικόνων σε δίκτυο με ογκοχρέωση. 5 | Εάν εντοπιστεί ένα δίκτυο με ογκοχρέωση, το Frost θα σταματήσει αυτόματα όλες τις λήψεις εικόνων και βίντεο. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-el-rGR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Κοινοποίηση συνδέσμου 5 | Άνοιγμα συνδέσμου 6 | Αντιγραφή συνδέσμου 7 | Αντιγραφή Κειμένου 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Seleccionar imagen 5 | Descargar mi 6 | Descargando… 7 | Imagen descargada 8 | Descarga de imagen fallida 9 | Error al compartir imagen 10 | Descargando vídeo 11 | Vídeo descargado 12 | Descargando archivo 13 | Archivo descargado 14 | Intento de descarga no válido 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restaurando compras… 5 | Oh oh 6 | Recargar 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Las características experimentales pueden ser inestables y nunca entrar en vigencia. Úsalas bajo tu propio riesgo. Envía un informe y no dudes en desactivarlas si no funcionan correctamente. 5 | Registro detallado 6 | Habilita los registros detallados para ayudar con los informes de errores. El registro sólo será enviado una vez se detecte el error, debes repetir el fallo para notificar al desarrollador. Esta función quedará desactivada una vez se reinicie la app. 7 | Reiniciar Frost 8 | Inicie un reinicio en frío para la aplicación. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deshabilitar imágenes en planes de datos limitados. 5 | Si se detecta una red de datos limitados, Frost dejará de mostrar imágenes y vídeos de forma automática. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Las preferencias de seguridad ayudan a proteger el acceso a Frost desde la interfaz de usuario. Sin embargo, tenga en cuenta que los datos locales no están cifrados, y que los usuarios rooteados aún pueden acceder. 5 | Habilitar dispositivos biométricos 6 | Requerir autenticación biométrica después de inactividad 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-es-rES/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Compartir enlace 5 | Abrir enlace 6 | Copiar enlace 7 | Copiar texto 8 | Abrir en el navegador 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sélectionner une image 5 | Télécharger 6 | Téléchargement… 7 | Image téléchargée 8 | Échec du téléchargement de l\'image 9 | Échec du partage de l\'image 10 | Téléchargement vidéo 11 | Vidéo téléchargée 12 | Téléchargement du fichier 13 | Fichier téléchargé 14 | Tentative de téléchargement invalide 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restauration des achats… 5 | Oups 6 | Recharger 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Désactiver les images sur réseau limité. 5 | Si un réseau limité est détecté, Frost arrêtera automatiquement le chargement de toutes les images et vidéos. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Les préférences de sécurité aident à protéger l\'accès à Frost depuis l\'interface. Cependant, notez que les données locales ne sont pas encryptées et peuvent toujours être accessibles par les utilisateurs rootés. 5 | Activer les biométriques 6 | Nécessite une authentification biométrique après inactivité 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr-rFR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Partager un lien 5 | Ouvrir un lien 6 | Copier le lien 7 | Copier le texte 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-gl-rES/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Escoller imaxe 5 | Descargar 6 | Descargando… 7 | Imaxe descargada 8 | Erro ao descargar a imaxe 9 | Erro ao compartir a imaxe 10 | Descargando vídeo 11 | Vídeo descargado 12 | Descargando ficheiro 13 | Ficheiro descargado 14 | Intento de descarga non válido 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-gl-rES/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restaurando compras… 5 | Vaites! 6 | Volver cargar 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-gl-rES/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deshabilitar imaxes baixo redes medidas ou limitadas. 5 | Se se detecta unha rede medida ou limitada (pagamento), Frost deixará de mostrar imaxes e vídeos de forma automática. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-gl-rES/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Os axustes de seguranza axuda a protexer o acceso a Frost dende a UI. Porén, lembra que os datos locais non están encriptados e se pode acceder a eles dende a raíz. 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-gl-rES/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Compartir ligazón 5 | Abrir ligazón 6 | Copiar ligazón 7 | Copiar texto 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Διάλεξε εικόνα 4 | Λήψη 5 | Λήψη… 6 | Η εικόνα ελήφθη 7 | Η εικόνα απέτυχε να ληφθεί 8 | Αποτυχία στην κοινοποίηση εικόνας 9 | 10 | Το βίντεο κατεβαίνει 11 | Το βίντεο ελήφθη 12 | Το αρχείο κατεβαίνει 13 | Το αρχείο ελήφθη 14 | 15 | Μη έγκυρη προσπάθεια λήψης 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Αποκατάσταση αγορών… 5 | 6 | Ω όχι 7 | Επαναφόρτωση 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Πειραματικά χαρακτηριστικά μπορεί να είναι ασταθή και να μην ολοκληρωθούν ποτέ. Χρησιμοποιήστε τα με δικό σας ρίσκο, αποστείλτε δεδομένα ανάδρασης , και μην διστάσετε να τα απενεργοποιήσετε αν δεν λειτουργούν σωστά. 4 | 5 | Σύνθετη Καταγραφή 6 | Ενεργοποίησε την Σύνθετη Καταγραφή για να βοηθήσεις σε αναφορές σφαλμάτων. Η Καταγραφή θα αποσταλλεί μόνο όταν προκύψει ένα σφάλμα, οπότε ενεργοποιήστε την για να ενημερώνετε τον προγραμματιστή. Αυτόματα θα απενεργοποιηθεί όταν η εφαρμογή επανεκκινηθεί. 7 | Επανεκκίνηση Frost 8 | Έναρξη μίας "παγωμένης" επανεκκίνησης για την εφαρμογή. 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | Απενεργοποίηση εικόνων σε περιορισμένο δίκτυο. 3 | Αν εντοπιστεί ένα περιορισμένο δίκτυο, το Frost αυτόματα θα αποτρέψει όλες τις εικόνες και τα βίντεο από το να φορτώσουν. 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Οι προτιμήσεις ασφάλειας βοηθούν στην πρόσβαση του Frost από τη διεπαφή χρήστη. Παρόλα αυτά,τα τοπικά δεδομένα δεν είναι κρυπτογραφημένα και μπορούν να έχουν πρόσβαση σε αυτά οι διαχειριστές. 4 | Ενεργοποίηση βιομετρικών στοιχείων 5 | Αίτηση βιομετρικής αυθεντικοποιήσης έπειτα από μη δραστηριότητα 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-gr-rGR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Κοινοποίηση Συνδέσμου 5 | Άνοιγμα Συνδέσμου 6 | Αντιγραφή Συνδέσμου 7 | Αντιγραφή Κειμένου 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu-rHU/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Kép kiválasztása 5 | Letöltés 6 | Letöltés… 7 | Kép sikeresen letöltve 8 | A kép letöltése sikertelen 9 | A kép megosztása sikertelen 10 | Videó letöltése 11 | Videó letöltve 12 | Fájl letöltése 13 | Fájl letöltve 14 | Érvénytelen letöltési kísérlet 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu-rHU/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Vásárlások visszaállítása… 5 | Ajaj 6 | Újratöltés 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu-rHU/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | A kísérleti funkciók instabilak lehetnek, és talán sosem kerülnek forgalomba. Használd saját felelősségre, küldj visszajelzést, és nyugodtan tiltsd le őket, ha nem működnek jól. 5 | Verbose Logging 6 | Részletes naplózás engedélyezése a hibajelentések segítésére. A napló csak akkor lesz elküldve, ha hiba lép fel, ezért ismételd meg a problémát, hogy értesítsd a fejlesztőt. Ez automatikusan le lesz tiltva, ha az alkalmazás újraindul. 7 | Frost újraindítása 8 | Az alkalmazás teljes újraindítása. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu-rHU/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Képek letiltása forgalomkorlátos hálózaton. 5 | Forgalomkorlátos hálózaton Frost automatikusan letiltja a képek és videók betöltését. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu-rHU/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Link megosztása 5 | Link megnyitása 6 | Link másolása 7 | Szöveg másolása 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Pilih Gambar 5 | Unduh 6 | Mengunduh… 7 | Gambar diunduh 8 | Gagal mengunduh gambar 9 | Gagal membagikan gambar 10 | Mengunduh Video 11 | Video diunduh 12 | Mengunduh file 13 | File diunduh 14 | Upaya unduhan tidak valid 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Url kosong diberikan ke hamparan; keluar 5 | Url yang dibagikan tidak sesuai 6 | Kamu telah membagikan blok teks yang bukan url. Teks sudah disalin ke papan tulis Anda, jadi Anda bisa membagikan secara manual. 7 | Tidak ada pengelola unduhan 8 | Pengelola unduhan tidak diaktifkan. Apakah Anda ingin mengaktifkannya untuk menyetujui pengunduhan? 9 | Terjadi kesalahan. 10 | Gagal memuat video 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Memulihkan pembelian… 5 | Uh Oh 6 | Muat Ulang 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Fitur eksperimental mungkin tidak stabil dan mungkin tidak pernah sampai ke produksi. Gunakan dengan resiko Anda sendiri, kirim umpan balik, dan jangan ragu untuk menonaktifkan jika tidak bekerja dengan baik. 5 | Mencatat banyak kata 6 | Aktifkan mencatat banyak kata untuk membantu laporan kerusakan. Pencatatan hanya akan dikirim setelah terjadi kesalahan, jadi ulangi masalahnya untuk memberitahukan dev. Ini akan secara otomatis dinonaktifkan jika mengulang kembali aplikasi. 7 | Mengulang kembali Frost 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Nonaktifkan gambar pada meteran jaringan. 5 | Jika jaringan meteran jaringan terdeteksi, semua gambar dan video dari pemuatan Frost akan otomatis berhenti. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-in-rID/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Berbagi Tautan 5 | Buka Tautan 6 | Salin Tautan 7 | Salin Teks 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Scegli un\'immagine 5 | Download 6 | Download in corso… 7 | Immagine scaricata 8 | Errore nel salvataggio dell\'immagine 9 | Impossibile condividere l\'immagine 10 | Video in Download 11 | Video scaricato 12 | File in Download 13 | File scaricato 14 | Tentativo di scaricamento fallito 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ripristino acquisti… 5 | Oh Oh 6 | Ricarica 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Le funzioni sperimentali potrebbero essere instabili e potrebbero non arrivare mai al rilascio. Usale a tuo rischio e pericolo, manda il tuo feedback e sentiti libero di disabilitarle se non funzionano bene. 5 | Log Dettagliati 6 | Abilita log dettagliati per aiutare con il rapporto dei crash. Il log verrà mandato solamente quando verrà riscontrato un errore, quindi ricrea la situazione per notificare gli sviluppatori. Verrà automaticamente disattivato se si riavvia l\'applicazione. 7 | Riavvia Frost 8 | Riavvia l\'applicazione a freddo. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Disabilita le immagini su reti a consumo. 5 | Se viene rilevata una connessione a consumo, Frost non caricherà nessun\'immagine o video. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-it-rIT/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Condividi link 5 | Apri link 6 | Copia link 7 | Copia testo 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 이미지 선택 5 | 다운로드 6 | 다운로드 중… 7 | 이미지 다운로드됨 8 | 이미지 다운로드 실패 9 | 이미지 공유 실패 10 | 동영상 다운로드 중 11 | 동영상 다운로드됨 12 | 파일 다운로드 중 13 | 파일 다운로드됨 14 | 잘못된 다운로드 시도 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 구매 내역 복원 중… 5 | 이런 6 | 새로 고침 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 디버그 항목이 활성화 되었습니다! 설정으로 돌아갑니다. 5 | 디버깅 섹션이 이미 활성화 되어있습니다. 설정으로 돌아갑니다. 6 | 대부분의 개인 정보는 자동으로 보고서에서 제거 됩니다, 하지만 일부 민감한 정보가 남아 있을 수 있습니다. \n디버그 보고서를 보내기 전에 다시 한번 확인하세요. \n\n아래의 옵션 중 하나를 누르면 웹 페이지 데이터를 포함한 이메일을 준비합니다. 7 | 미완성 보고서 8 | 웹에서 디버그 9 | 이슈가 있는 페이지로 이동하고 디버깅을위한 리소스를 보냅니다. 10 | 데이터 파싱 11 | 디버그 파서 12 | 사용 가능한 파서 중 하나를 실행하여 응답 데이터를 디버깅합니다. 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 실험적 기능은 불안정하거나 출시로 이어지지 않을 수 있습니다. 이를 사용함으로써 발생하는 일의 책임은 당신에게 있으며, 피드백을 보내시거나 제대로 작동하지 않으면 비활성화 하시기 바랍니다. 5 | 자세한 로그 6 | 충돌 보고서에 도움을 주기 위해 자세한 로그를 켭니다. 로그는 에러가 발생했을 때 한번만 보내지며, 문제를 개발자에게 알리려면 문제를 재현하세요. 앱이 재시작되면 이 옵션은 자동으로 꺼집니다. 7 | Frost 재시작 8 | 응용 프로그램 재시작 가동 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 네트워크 문제 발생시 이미지 비활성화 5 | 네트워크 문제가 감지되면 Frost 는 모든 이미지와 동영상을 로드하지 않습니다. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 보안 기본 설정은 UI에서 Frost에 대한 액세스를 보호합니다. 그러나 로컬 데이터는 암호화되지 않으며 루트 사용자가 여전히 액세스 할 수 있습니다. 5 | 생체인식정보 사용 6 | 비활성 후 생체인식정보 인증 필요 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko-rKR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 링크 공유 5 | 링크 열기 6 | 링크 복사 7 | 텍스트 복사 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ചിത്രം തിരഞ്ഞെടുക്കുക 5 | ഡൗൺലോഡ് 6 | ഡൗൺലോഡ് ചെയ്യുന്നു… 7 | ചിത്രം ഡൗൺലോഡ് ചെയ്തു 8 | ചിത്രം ഡൗൺലോഡ് ചെയ്യുന്നത് പരാജയപ്പെട്ടു 9 | ചിത്രം പങ്കിടുന്നത് പരാജയപ്പെട്ടു 10 | വീഡിയോ ഡൗൺലോഡ് ചെയ്യുന്നു 11 | വീഡിയോ ഡൗൺലോഡുചെയ്തു 12 | വീഡിയോ ഡൗൺലോഡ് ചെയ്യുന്നു 13 | ഫയൽ ഡൗൺലോഡ് ചെയ്തു 14 | അസാധുവായ ഡൗൺലോഡ് ശ്രമം 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | വാങ്ങലുകൾ പുനസ്ഥാപിക്കുന്നു… 5 | ഒ ഓഹ് 6 | വീണ്ടും ലോഡുചെയ്യുക 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ഡീബഗ്ഗിംഗ് വിഭാഗം പ്രവർത്തനക്ഷമമാക്കി! ക്രമീകരണങ്ങളിലേക്ക് മടങ്ങുക. 5 | ഡീബഗ്ഗിംഗ് വിഭാഗം ഇതിനകം പ്രവർത്തനക്ഷമമാക്കി. ക്രമീകരണങ്ങളിലേക്ക് മടങ്ങുക. 6 | അപൂർണ്ണമായ റിപ്പോർട്ട് 7 | വെബിൽ നിന്ന് ഡീബഗ് ചെയ്യുക 8 | ഒരു പ്രശ്നമുള്ള പേജിലേക്ക് നാവിഗേറ്റുചെയ്‌ത് ഡീബഗ്ഗിംഗിനായി വിവരങ്ങൾ അയയ്‌ക്കുക. 9 | ഡേറ്റ വ്യാകരിക്കുന്നു 10 | ഡീബഗ് പാഴ്‌സറുകൾ 11 | അതിന്റെ പ്രതികരണ ഡാറ്റ ഡീബഗ് ചെയ്യുന്നതിന് ലഭ്യമായ പാഴ്‌സറുകളിലൊന്ന് സമാരംഭിക്കുക 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ഉപയോഗ പരിമിതയുള്ള നെറ്റ്‌വർക്കിൽ ചിത്രങ്ങൾ പ്രവർത്തനരഹിതമാക്കുക. 5 | ഉപയോഗ പരിമിതി ഉള്ള നെറ്റ്‌വർക്ക് കണ്ടെത്തിയാൽ, എല്ലാ ചിത്രങ്ങളും വീഡിയോകളും ലോഡുചെയ്യുന്നതിൽ നിന്ന് ഫ്രോസ്റ്റ് യാന്ത്രികമായി തടയും. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | യുഐയിൽ നിന്ന് ഫ്രോസ്റ്റിലേക്കുള്ള ആക്സസ് പരിരക്ഷിക്കാൻ സുരക്ഷാ മുൻ‌ഗണനകൾ സഹായിക്കുന്നു. എന്നിരുന്നാലും, ആപ്പ് ഡാറ്റ എൻ‌ക്രിപ്റ്റ് ചെയ്തിട്ടില്ല, മാത്രമല്ല റൂട്ട് ഉപയോക്താക്കൾക്ക് അവ ആക്സസ് ചെയ്യാൻ കഴിയും. 5 | ബയോമെട്രിക്സ് പ്രവർത്തനക്ഷമമാക്കുക 6 | ഇടവേളകൾ കഴിഞ്ഞു ബയോമെട്രിക് ലോഗിൻ ആവശ്യപ്പെടുക 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ml-rIN/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ലിങ്ക് പങ്കിടുക 5 | ലിങ്ക് തുറക്കുക 6 | ലിങ്ക് പകർത്തുക 7 | ടെക്സ്റ്റ് പകർത്തുക 8 | ബ്രൗസറിൽ തുറക്കുക 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl-rNL/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Kies afbeelding 5 | Downloaden 6 | Downloaden… 7 | Afbeelding gedownload 8 | Fout bij downloaden afbeelding 9 | Fout bij delen van afbeelding 10 | Video downloaden 11 | Video gedownload 12 | Bestand downloaden 13 | Bestand gedownload 14 | Ongeldig downloadverzoek 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl-rNL/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Aankopen herstellen… 5 | Oeps 6 | Opnieuw laden 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl-rNL/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Afbeeldingen uitschakelen bij verbinding met datalimiet. 5 | Download geen afbeeldingen en video\'s indien de verbinding een datalimiet heeft. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl-rNL/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Link delen 5 | Link openen 6 | Link kopiëren 7 | Tekst kopiëren 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Velg bilde 5 | Last ned 6 | Laster ned… 7 | Bildet lastet ned 8 | Bildet kan ikke laste ned 9 | Kunne ikke dele bildet 10 | Laster ned video 11 | Video lastet ned 12 | Laster ned fil 13 | Filen lastet ned 14 | Ugyldig nedlastingsforsøk 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Tom url gitt til overlegg; avslutter 5 | Ugyldig Url-adresse 6 | Du har delt en tekst som ikke er en Url-adresse. Teksten har blitt kopiert til utklippstavlen, slik at du kan dele det manuelt selv. 7 | Ingen nedlastingsbehandling 8 | Nedlasting er ikke aktivert. Ønsker du å aktivere det for å tillate nedlasting? 9 | En feil oppstod. 10 | Kan ikke laste video 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Gjenoppretter kjøp… 5 | Uff da 6 | Last på nytt 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Feilsøking er aktivert! Gå tilbake til innstillingene. 5 | Selv om det meste private innholdet fjernes automatisk i rapporten, kan noe informasjon likevel være synlig.\nVennligst se igjennom feilrapporten før du sender den. \n\nVed å velge et av alternativene nedenfor vil dine data blir sendt med en e-post. 6 | Ufullstendig rapport 7 | Feilsøke fra internett 8 | Naviger til siden med et problem og send informasjon for feilsøking. 9 | Analyse data 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Eksperimentelle funksjonene kan være ustabile. Bruk på eget ansvar og du må gjerne deaktivere dem om de ikke fungerer. 5 | Detaljert logging 6 | Aktiver detaljert logging for å hjelpe med feilrapporter. Logging sendes bare når en feil oppstår, så fremtving feil for å varsle utvikler. Dette vil automatisk bli deaktivert hvis programmet startes på nytt. 7 | Start Frost på nytt 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Deaktivere bilder på mobilnettverk. 5 | Hvis et mobilnettverk blir funnet, stanser automatisk Frost alle bilder og videoer fra lasting. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-no-rNO/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Del lenke 5 | Åpne lenke 6 | Kopier lenke 7 | Kopier tekst 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Wybierz obraz 5 | Pobierz 6 | Pobieranie… 7 | Pobrano obraz 8 | Nie udało się pobrać obrazu 9 | Nie udało się udostępnić obrazu 10 | Pobieranie filmu 11 | Pobrano film 12 | Pobieranie pliku 13 | Pobrano plik 14 | Nieprawidłowa próba pobrania 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Przywracanie zakupu… 5 | Uh Oh 6 | Przeładuj 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Funkcje eksperymentalne mogą być niestabilne i mogą nigdy nie być wprowadzone. Używaj na własne ryzyko, wyślij opinię i wyłącz je jeśli nie działają dobrze. 5 | Pełne zbieranie logów 6 | Włącz pełne zbieranie logów żeby pomóc z raportami o awariach. Logi będą wysłane tylko kiedy błąd wystąpi, więc odtwórz problem, aby powiadomić dewelopera. Ta opcja zostanie automatycznie wyłączona po restarcie aplikacji. 7 | Uruchom ponownie Frost 8 | Wykonaj twardy reset aplikacji. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Wyłącz obrazy w sieci komórkowej. 5 | Po wykryciu połączenia taryfowego, Frost automatycznie zatrzyma wczytywanie wszystkich obrazów i filmów. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ustawienia bezpieczeństwa pomagają chronić dostęp do Frost\'a przez interfejs użytkownika. Jednakże, dane przechowywane lokalnie nie są szyfrowane i mogą być dostępne dla użytkowników z uprawnieniami roota. 5 | Włącz biometrię 6 | Wymagaj uwierzytelnienia biometrycznego po bezczynności 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl-rPL/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Udostępnij link 5 | Otwórz link 6 | Kopiuj link 7 | Kopiuj tekst 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Escolher imagem 5 | Baixar 6 | Baixando… 7 | Imagem baixada 8 | Falha ao baixar imagem 9 | Falha ao compartilhar imagem 10 | Baixando vídeo 11 | Vídeo baixado 12 | Baixando arquivo 13 | Arquivo baixado 14 | URL de download inválida 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restaurando compras… 5 | Uh Oh 6 | Recarregar 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | As funções experimentais podem ser instáveis ​​e podem não funcionar. Use a seu próprio risco, envie comentários e sinta-se livre para desativá-los se eles não funcionarem bem. 5 | Relatório Detalhado 6 | Habilite o relatório detalhado para ajudar com relatórios de falhas. O relatório só será enviado quando um erro for encontrado, então repita o problema para notificar o desenvolvedor. Isso será automaticamente desabilitado se o aplicativo for reiniciado. 7 | Reiniciar o Frost 8 | Inicie uma reinicialização do aplicativo. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Desabilitar imagens em planos de dados limitados. 5 | Se uma rede de dados limitados for detectada, Frost irá automaticamente impedir que todas as imagens e vídeos sejam carregados. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Preferências de segurança ajudam a proteger o acesso ao Frost da interface de usuário. No entanto, note que os dados locais não estão criptografados e ainda podem ser acessados por usuários com root. 5 | Habilitar biometria 6 | Exigir autenticação biométrica após inatividade 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Compartilhar Link 5 | Abrir Link 6 | Copiar Link 7 | Copiar Texto 8 | Abrir no navegador 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Escolher imagem 5 | Descarga 6 | A descarregar… 7 | Imagem descarregada 8 | Falha ao descarregar a imagem 9 | Falha ao partilhar a imagem 10 | A descarregar vídeo 11 | Vídeo descarregado 12 | A descarregar ficheiro 13 | Ficheiro descarregado 14 | Tentativa de descarga inválida 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restaurando compras… 5 | Bolas 6 | Recarregar 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | As funcionalidades experimentais podem ser instáveis e podem nem sequer ser incluídas na versão final. Utilize-as por sua conta e risco e submeta os relatório com os erros encontrados. Pode desativar esta opção sempre que quiser. 5 | Registo detalhado 6 | Ativar o registo detalhado para nos ajudar com os erros. Os registos apenas serão enviados se for encontrado um erro. Esta opção será desativada automaticamente se reiniciar a aplicação. 7 | Reiniciar 8 | Impor um reinício da aplicação. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Desativar imagens nas redes com restrições. 5 | Se for detetada um rede com restrições, a aplicação não irá carregar as imagens e os vídeos disponíveis. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Preferências de segurança ajudam a proteger o acesso ao Frost da interface de utilizador. No entanto, note que os dados locais não estão encriptados e podem ser acessados por utilizados com root. 5 | Ativar impressão digital 6 | Pedido de autenticação por impressão digital depois do escrã estar inativo 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rPT/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Partilhar ligação 5 | Abrir ligação 6 | Copiar ligação 7 | Copiar texto 8 | Abrir no navegador 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro-rRO/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Alege poză 5 | Descarcă 6 | Descărcare… 7 | Imagine descărcată 8 | Descărcarea imaginii a eșuat 9 | Share-uirea imaginii a eșuat 10 | Descărcare clip video 11 | Video descărcat 12 | Se descarcă fișierul 13 | Fişierul descărcat 14 | Încercare invalidă a descărcării 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro-rRO/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restaurarea achiziţiilor… 5 | Fir-ar! 6 | Reîncărcare 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro-rRO/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Caracteristici experimentale pot fi instabile. Folosește-le pe propriul tău risc, trimite feedback-ul şi nu ezita să le dezactivaţi dacă nu funcţionează bine. 5 | Logări abuzive 6 | Activează logări repetate să ajuți cu report-uri ale erorilor. Logarile vor fi trimise când o eroare este prezentă, așadar repetă problema să anunți dezvoltatorii. Acesta va fi dezactivat când repornești. 7 | Reporniţi Frost 8 | Pornește la rece aplicația. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro-rRO/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dezactivează imaginile pe date mobile. 5 | Dacă o rețea limitată este detectată, Frost va opri automat toate imaginile si videoclipurile din a se încărca. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro-rRO/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Distribuie 5 | Deschide 6 | Copiază 7 | Copiază 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Выбрать изображение 5 | Загрузить 6 | Загрузка… 7 | Изображение загружено 8 | Не удается загрузить изображение 9 | Не удалось поделиться изображением 10 | Загрузка видео 11 | Видео загружено 12 | Загрузка файла 13 | Файл загружен 14 | Неверная задача загрузки 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Восстановление покупок… 5 | Ой-ой 6 | Обновить 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Экспериментальные функции может быть нестабильным и никогда не может сделать его в производство. Используйте на свой страх и риск, обратная связь и не стесняйтесь отключить их, если они не работают хорошо. 5 | Подробная информация 6 | Включите ведение подробного журнала, чтобы помочь с падениях. Протоколирование будет отправлено только после того, как возникает ошибка, так повторить вопрос уведомления dev. Это будет автоматически отключается, если приложение перезапускается. 7 | Перезапустить Frost 8 | Запуск холодного перезапуска приложения. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Отключите изображения на контролируемой сети. 5 | Если обнаружена сеть с лимитным, Frost автоматически остановит все изображения и видео от загрузки. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Настройки безопасности помогают защитить доступ к Frost из UI. Однако, обратите внимание, что локальные данные не зашифрованы, и они могут быть доступны только только пользователям с рут-доступом. 5 | Включить биометрические данные 6 | Требовать биометрической аутентификации после бездействия 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru-rRU/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Поделиться 5 | Открыть ссылку 6 | Скопировать ссылку 7 | Копировать текст 8 | Открыть в браузере 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr-rSP/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Изабери слику 5 | Преузми 6 | Преузимање… 7 | Слика је преузета 8 | Преузимање слике неуспешно 9 | Дељење слике је неуспешно 10 | Преузимање видеа 11 | Видео преузет 12 | Преузимање датотеке 13 | Датотека преузета 14 | Грешка при преузимању 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr-rSP/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Обнављање куповине… 5 | Јао не 6 | Учитај поново 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr-rSP/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Експерименталне функције су нестабилне и можда никада неће бити уврштене у апликацију. Користите на сопствени ризик, пошаљите рецензију, слободно их искључите уколико не функционишу како треба. 5 | Потпуна евиденција 6 | Укључите потпуну евиденцију и помозите нам у отклањању грешака. Евиденција ће бити послата само уколико дође до грешке, зато поновите грешку да би помогли програмерима. Оција ће бити искључена уколико се апликација рестартује. 7 | Рестартујте Фрост 8 | Покрените потпуни рестарт апликације. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr-rSP/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Не преузимај слике при коришћењу мобилних података. 5 | Ако су укључени подаци, Фрост неће аутоматски преузимати слике и снимке. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr-rSP/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Подели везу 5 | Отвори линк 6 | Копирај линк 7 | Копирај текст 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Välj bild 5 | Ladda ner 6 | Hämtar… 7 | Bilden har laddats ner 8 | Bilden gick inte att ladda ner 9 | Det gick inte att dela bilden 10 | Laddar ner Video 11 | Videon har laddats ner 12 | Laddar ner fil 13 | Filen har laddats ner 14 | Ogiltig nedladdning försök 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | URL:en är tom; avslutar 5 | Ogiltig delnings-URL 6 | Du har delat ett block av text som inte är en url. Texten har kopierats till Urklipp, så att du kan dela det manuellt själv. 7 | Ingen Nedladdninghanterare 8 | Nedladdningshanteraren är inte aktiverad. Vill du aktivera den för att tillåta nedladdningar? 9 | Ett fel har uppstått. 10 | Det gick inte att ladda videon 11 | Ett fel uppstod när meddelanden försökte hämtas 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Återställer inköp… 5 | Uh-oh 6 | Ladda om 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Experimentella funktioner kan vara ostabila och kanske aldrig implementeras i slutprodukten. Använd dessa på egen risk, skicka feedback, och stäng gärna av dem om de inte fungerar bra. 5 | Detaljerad loggning 6 | Aktivera utförlig loggning för att hjälpa till med felrapporter. Loggar skickas endast när ett fel påträffas, så upprepa problemet i appen för att skicka informationen till utvecklaren. Detta inaktiveras automatiskt om appen startas om. 7 | Starta om Frost 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Inaktivera bilder på uppmätt nätverk. 5 | Om ett uppmätt nätverk upptäcks slutar Frost automatiskt att ladda alla bilder och videor. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv-rSE/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Dela länk 5 | Öppna länk 6 | Kopiera länk 7 | Kopiera text 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | เลือกรูปภาพ 5 | ดาวน์โหลด 6 | กำลังดาวน์โหลด… 7 | ดาวน์โหลดรูปภาพสำเร็จ 8 | ดาวน์โหลดรูปภาพล้มเหลว 9 | ไม่สามารถแชร์ภาพได้ 10 | กำลังดาวน์โหลดวีดีโอ 11 | ดาวน์โหลดวีดีโอเสร็จแล้ว 12 | กำลังดาวน์โหลดไฟล์ 13 | ไฟล์ดาวน์โหลดเสร็จแล้ว 14 | พบการดาวน์โหลดไม่ถูกต้อง 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Uri ถูกส่งให้โอเวอร์เลย์; กำลังออก 5 | Url ที่แชร์ไม่ถูกต้อง 6 | คุณได้แชร์ตัวอักษรที่ไม่ใช่ uri ตัวอักษรจะถูกคัดเลือกไปที่คลิปบอร์ดแรน เพื่อที่คุณจะได้แชร์มันด้วยตัวเองได้ 7 | ไม่มีตัวจัดการดาวน์โหลด 8 | ไม่ได้เปิดใช้งานตัวจัดการการดาวน์โหลด คุณต้องการเปิดใช้งานการอนุญาตให้ดาวน์โหลดหรือไม่ 9 | เกิดข้อผิดพลาด 10 | ไม่สามารถโหลดวิดีโอ 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | กำลังเรียกคืนการซื้อ 5 | โอ้โห! 6 | โหลดใหม่ 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | คุณสัมบัติทดลองอาจไม่เสถียนและอาจจะไม่ได้อยู่ถาวร ยอมรับความเสี่ยงเองถ้าคุณใช้มัน, ส่งข้อเสนอแนะ หรือ ปิดมันไปเลยก็ได้ถ้ามันไม่ทำงาน 5 | การบันทึกทั่วไป 6 | เปิดบันทิกทั่วไปและรายงานข้อผิดพลาด บันทึกจะส่งเมื่อเจอข้อผิดพลาด ดังนั้นกรุณาทำให้เกิดข้อผิดพลาดอีกครั้งนึง ตัวเลือกนี้จะปิดเองเมื่อแอพเริ่มต้นใหม่ 7 | เริ่ม Frost ใหม่ 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ปิดใช้งานรูปภาพบนเครือข่ายที่จำกัด 5 | ถ้าตรวจพบเครือข่ายที่จำกัด Frostจะหยุดโหลดภาพและวีดีโอโดยอัตโนมัติ 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-th-rTH/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | แบ่งปันลิงค์ 5 | เปิดลิงค์ 6 | คัดลอกลิ้งค์ 7 | คัดลอกข้อความ 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-tl-rPH/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ang pagre-restore sa mga pinamili… 5 | Uh Oh 6 | I-reload 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-tl-rPH/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ang tampok na pageekspiremento ay hindi siguradong matatag at hindi kailanman ito gagawin sa produksyon. Gamitin sa iyong sariling kapahamakan, ipadala ang feedback, at malaya kang i-disable sila kapag hindi ito nagawa ng maayos. 5 | Ang pagsasalita ay logging 6 | I-enable ang logging na pagsasalita para matulongan ang mga ulat pagbangga. Ang logging ay pinapadala lamang kapag may mali na naranasan, kaya ulitin ang isyu para masabihan ang taga-gawa. Ito ay awtomatikong idi-disable kapag ang aplikasyon ay nirestart. 7 | I-restart ang Frost 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-tl-rPH/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | I-disable ang mga mensahe sa may bayad na network. 5 | Kung ang may bayad na network ay na-ditek, Ang Frost ay awtomatikong ihihinto ang lahat na mga mensahe at mga bidyo mula sa paglo-load. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-tl-rPH/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ibahagi ang Link 5 | Buksan ang Link 6 | Kopyahin ang Link 7 | Kopyahin ang Teksto 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr-rTR/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Resim seç 5 | İndir 6 | İndiriliyor… 7 | Resim indirildi 8 | Resim indirilemedi 9 | Resim yüklenirken hata oluştu 10 | Video İndiriliyor 11 | Video İndirildi 12 | Dosya indiriliyor 13 | Dosya İndirildi 14 | Geçersiz indirme denemesi 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr-rTR/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Satın alma işlemleri geri yükleniyor… 5 | Ah ah 6 | Yeniden Yükle 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr-rTR/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ölçülü ağ görüntülerini devre dışı bırakın. 5 | Ölçülen bir ağ tespit edildiğinde, Frost tüm resimleri ve videoları otomatik olarak yüklemeyi durduracaktır. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr-rTR/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bağlantıyı Paylaş 5 | Bağlantıyı Aç 6 | Bağlantıyı Kopyala 7 | Yazıyı Kopyala 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk-rUA/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Оберіть зображення 5 | Завантажити 6 | Завантаження… 7 | Зображення завантажено 8 | Не вдалося завантажити зображення 9 | Не вдалося поділитися зображенням 10 | Завантаження відео 11 | Відео завантажено 12 | Завантаження файлу 13 | Файл завантажено 14 | Недійсна спроба завантаження 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk-rUA/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Відновлення покупок… 5 | Ой-ой 6 | Перезавантажити 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk-rUA/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Вимкнути зображення в мережі з платним трафіком. 5 | Якщо виявлено мережу з платним трафіком, Frost автоматично зупинить завантаження всіх зображень та відеозаписів. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk-rUA/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Параметри безпеки допомагають захистити доступ до Frost з інтерфейсу користувача. Проте зверніть увагу на те, що локальні дані не зашифровані, і доступ до них можна отримати за допомогою користувача root. 5 | Увімкнути біометричні дані 6 | Вимагати біометричної автентифікації після бездіяльності 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk-rUA/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Поділитись посиланням 5 | Відкрити посилання 6 | Копіювати посилання 7 | Скопіювати текст 8 | Відкрити в браузері 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi-rVN/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Chọn ảnh 5 | Tải về 6 | Đang tải… 7 | Ảnh đã được tải 8 | Không tải được ảnh 9 | Không chia sẻ được ảnh 10 | Đang tải video 11 | Đã tải Video 12 | Đang tải tập tin 13 | Đã tải tập tin 14 | Việc tải xuống không hợp lệ 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi-rVN/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Đang khôi phục mua hàng… 5 | Ồ… 6 | Tải lại 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi-rVN/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Các tính năng thử nghiệm có thể không ổn định và có thể không bao giờ thành hiện thực. Bạn chấp nhận rủi ro khi dùng, hãy tắt nó đi nếu bạn thấy không hoạt động tốt. 5 | Nhật ký chi tiết 6 | Bật nhật ký chi tiết để giúp báo cáo lỗi. Các ghi chép sẽ chỉ được gửi khi phát sinh lỗi, nên hãy lặc lại lỗi để báo cho tác giả. Tính năng này sẽ tự động tắt khi khởi động lại ứng dụng. 7 | Khởi động lại Frost 8 | Khởi động ứng dụng lại từ đầu. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi-rVN/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Không hiện ảnh khi dùng mạng di động. 5 | Khi phát hiện dùng mạng di động, Frost sẽ tự động ngừng tải ảnh và video. 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi-rVN/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Liên kết chia sẻ 5 | Mở liên kết 6 | Chép liên kết 7 | Chép nội dung 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 选择图像 5 | 下载 6 | 正在下载… 7 | 已下载图片 8 | 下载失败图片 9 | 分享图片失败 10 | 正在下载视频 11 | 已下载视频 12 | 正在下载文件 13 | 已下载文件 14 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 用于覆盖的地址为空,正在退出 5 | 无效的共享地址 6 | 你已共享的文本不是地址。文本已被复制到剪贴板上,以便手动共享。 7 | 没有下载管理器 8 | 未启用下载管理器。是否启用它以允许下载? 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 正在恢复购买… 5 | 啊呃! 6 | 重新加载 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_pref_appearance.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 主题定制 5 | 主题 6 | 文字颜色 7 | 强调文字颜色 8 | 背景顏色 9 | 标题颜色 10 | 图标颜色 11 | 全局定制 12 | 主要活动布局 13 | 淡色导航栏 14 | 导航栏将会作为标题相同的颜色 15 | Web 文本缩放 16 | 文本缩放的例子; 长按百分比文本重置。 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 调试选项以启动!返回设置。 5 | 虽然最私人的内容自动删除在报告中,一些敏感的信息可能仍是可见的。 \n请在发送之前看看调试报告。 \n\n点击下面的选项之一将编写电子邮件响应与该网页数据。 6 | 不完整的报告 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。 5 | Verbose Logging 6 | 启用详细日志记录以帮助崩溃报告。所以一旦遇到错误时,才会发送日志记录重复问题通知行业的发展现状如果应用程序重新启动,这将自动禁用。 7 | 重启Frost 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_pref_feed.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 新闻源排序 5 | 定义发帖显示的顺序 6 | 激进的最新更新 7 | 过滤掉原先Facebook最新更新当中的过时发贴。如果新闻源是空的,请禁用此选项。 8 | 状态编辑器 9 | 在新闻源中显示状态编辑器 10 | 推荐好友 11 | 在新闻源中现实\"你可能认识的人\" 12 | 推荐群组 13 | 在新闻源中显示\"推荐群组\" 14 | Facebook广告 15 | 显示Facebook自带的广告 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 禁用图像在计量网络。 5 | 如果检测到计量的网络,Frost 将自动停止所有图像和视频加载。 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 分享链接 5 | 打开链接 6 | 复制链接 7 | 复制文字 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 選取圖像 5 | 下載 6 | 正在下載… 7 | 圖像已經完成下載 8 | 圖像下載失敗 9 | 圖像分享失敗 10 | 視像正在下載中 11 | 影片下載完成 12 | 檔案正在下載中 13 | 檔案已經完成下載 14 | 試圖下載無效 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_errors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 空白網址引致網頁覆蓋; 正在退出中 5 | 分享網址無效 6 | 你所分享的一堆文字並不是網址。該堆文字已經被複製到剪貼簿中, 你可以自行再分享該堆文字。 7 | 沒有下載管理員程式 8 | 下載管理員程式還未設定啟用。請問你是否要設定開啟以允許下載? 9 | 發生了一個錯誤 10 | 下載視像失敗 11 | 抓取訊息時發生了錯誤. 12 | 你的裝置的SDK(%d) 不相容, Frost只支援Lillipop (SDK21) 以上(含). 13 | 找不到您裝置中的webview. 請安裝或啓動webview. 14 | 找不到圖像。 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 正在恢復購買 5 | 噢! 6 | 重新載入 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_pref_debug.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 已啟用調試部分! 返回到設置。 5 | 調試選項已啟用,請返回設置。 6 | 儘管大多數私有內容在報告中自動刪除, 但某些敏感資訊仍可能可見。 \n 在發送之前看看調試報告。 \n \n按下面的其中一個選項將為網頁數據準備電子郵件給回應。 7 | 不完整的報告 8 | 從 Web 除錯 9 | 瀏覽道友問題的頁面並傳送除錯相關資源。 10 | 分析資料中 11 | 除錯分析器 12 | 啟動一個可用的解析器來除錯其回應資料 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 實驗性的特性可能不穩定, 可能永遠無法生產。選擇使用您自己的風險, 發回饋, 並隨時禁用他們 5 | 6 | 实验性的功能可能不稳定,也许都不会正式使用。选择使用您自己的风险。如果有发生崩溃, 发送反馈,并禁用它们。 7 | Verbose 記錄 8 | 啟用Verbose記錄以幫助崩潰報告。只有在遇到錯誤後才會發送日誌記錄, 因此重複此問題以通知我們。如果應用程式重新啟動, 會自動禁用此功能。 9 | 重啟 Frost 10 | 冷重啟應用程式 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 禁用圖像在計量網路。 5 | 如果檢測到計量網路, Frost 會自動停止載入所有圖像和視頻。 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 安全性設定可保護通過 UI 來存取 Frost 中的資料。注意本機檔案並沒有加密,故依然可以被已 root 的使用者存取資料。 5 | 啟用生物辨識 6 | 閒置後需要生物辨識驗證 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rTW/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 分享連結 5 | 打開連結 6 | 複製連結 7 | 複製文字 8 | 在瀏覽器中開啟 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | @color/facebook_blue 4 | #3b5998 5 | #6183C8 6 | #2e4b86 7 | @color/facebook_blue 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 1dip 4 | 100dp 5 | 48dp 6 | 7 | 60dp 8 | 9 | 50dp 10 | 64dp 11 | 20dp 12 | 13 | 24dp 14 | 15 | 8dp 16 | 17 | 32dp 18 | 24dp 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_download.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Pick Image 4 | Download 5 | Downloading… 6 | Image downloaded 7 | Image failed to download 8 | Failed to share image 9 | 10 | Downloading Video 11 | Video Downloaded 12 | Downloading File 13 | File Downloaded 14 | 15 | Invalid download attempt 16 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_play_store.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Restoring purchases… 5 | 6 | Uh Oh 7 | Reload 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_pref_experimental.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Experimental features may be unstable and may never make it to production. Use at your own risk, send feedback, and feel free to disable them if they don\'t work well. 4 | 5 | Verbose Logging 6 | Enable verbose logging to help with crash reports. Logging will only be sent once an error is encountered, so repeat the issue to notify the dev. This will automatically be disabled if the app restarts. 7 | Restart Frost 8 | Launch a cold restart for the application. 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_pref_networks.xml: -------------------------------------------------------------------------------- 1 | 2 | Disable images on metered network. 3 | If a metered network is detected, Frost will automatically stop all images and videos from loading. 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_pref_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Security preferences help protect access to Frost from the UI. However, note that local data is not encrypted, and can still be accessed by rooted users. 4 | Enable biometrics 5 | Require biometric authentication after inactivity 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings_web_context.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Refresh 5 | Share Link 6 | Local Frost Service 7 | Open Link 8 | Copy Link 9 | Copy Text 10 | Frost for Facebook: Image Link Debug 11 | Open in browser 12 | -------------------------------------------------------------------------------- /app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/xml/frost_backup_rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/xml/notification_widget_info.xml: -------------------------------------------------------------------------------- 1 | 5 | 11 | -------------------------------------------------------------------------------- /app/src/web/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .sass-cache/ 3 | 4 | *.js 5 | *.css 6 | 7 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm 8 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 9 | 10 | # User-specific stuff 11 | .idea/**/workspace.xml 12 | .idea/**/tasks.xml 13 | .idea/**/usage.statistics.xml 14 | .idea/**/dictionaries 15 | .idea/**/shelf 16 | 17 | # Generated files 18 | .idea/**/contentModel.xml 19 | 20 | # Sensitive or high-churn files 21 | .idea/**/dataSources/ 22 | .idea/**/dataSources.ids 23 | .idea/**/dataSources.local.xml 24 | .idea/**/sqlDataSources.xml 25 | .idea/**/dynamic.xml 26 | .idea/**/uiDesigner.xml 27 | .idea/**/dbnavigator.xml 28 | -------------------------------------------------------------------------------- /app/src/web/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/web/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/web/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/web/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/web/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/web/README.md: -------------------------------------------------------------------------------- 1 | # Frost for Facebook Assets 2 | 3 | This is the root project for the assets, which is primarily css and js. 4 | The assets that will be added to Android are within the `assets` folder. 5 | -------------------------------------------------------------------------------- /app/src/web/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "compile": "tsc -p tsconfig.json && sass --no-source-map --style compressed --update scss:assets/css", 4 | "scss-watch": "sass --no-source-map --style compressed --update scss:assets/css --watch" 5 | }, 6 | "license": "GPL-3.0", 7 | "repository": { 8 | "url": "https://github.com/AllanWang/Frost-for-Facebook" 9 | }, 10 | "dependencies": { 11 | "compile": "0.0.2", 12 | "run": "^1.4.0", 13 | "sass": "^1.54.9", 14 | "typescript": "^4.8.3" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/web/scss/core/_colors.scss: -------------------------------------------------------------------------------- 1 | $bg_transparent: rgba(#f0f, 0.02) !default; 2 | 3 | //Keep above as first line so partials aren't compiled 4 | //Our default colors are test colors; production files should always import the actual colors 5 | 6 | $text: #d7b0d7 !default; 7 | $text_disabled: rgba($text, 0.6) !default; 8 | // must be visible with accent as the background 9 | $accent_text: #76d7c2 !default; 10 | $link: #9266d5 !default; 11 | $accent: #980008 !default; 12 | $background: #451515 !default; 13 | // background2 must be transparent 14 | $background2: rgba(lighten($background, 35%), 0.35) !default; //Also change ratio in material_light 15 | $bg_opaque: rgba($background, 1.0) !default; 16 | $bg_opaque2: rgba($background2, 1.0) !default; 17 | $card: #239645 !default; 18 | $tint: #ff4682 !default; // must be different from $background 19 | $divider: rgba($text, 0.3) !default; 20 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/core/_core_hider.scss: -------------------------------------------------------------------------------- 1 | [data-sigil=m_login_upsell], 2 | [data-sigil="m-loading-indicator-animate m-loading-indicator-root"] { 3 | display: none !important; 4 | } -------------------------------------------------------------------------------- /app/src/web/scss/facebook/core/_core_messages.scss: -------------------------------------------------------------------------------- 1 | // Not all message related components are here; only the main ones. 2 | // Borders for instance are merged into core_border 3 | 4 | // Other person's message bubble 5 | ._34ee { 6 | background: $background2 !important; 7 | color: $text !important; 8 | 9 | } 10 | 11 | // Your message bubble; order matters 12 | ._34em ._34ee { 13 | background: $accent !important; 14 | color: $accent_text !important; 15 | } 16 | 17 | // Sticker page 18 | ._5as0, ._5cni, ._5as2 { 19 | background: $bg_opaque !important; 20 | } -------------------------------------------------------------------------------- /app/src/web/scss/facebook/core/_main.scss: -------------------------------------------------------------------------------- 1 | @import "core"; 2 | @import "svg"; 3 | 4 | //this file is used as the base for all themes 5 | //given that svgs take a lot of characters, we won't compile them when testing 6 | //therefore we use the core scss 7 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/.gitignore: -------------------------------------------------------------------------------- 1 | test.scss 2 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/custom.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/custom"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/default.scss: -------------------------------------------------------------------------------- 1 | @import "../core/core_hider"; 2 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/material_amoled.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_amoled"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/material_dark.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_dark"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/material_glass.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_glass"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/facebook/themes/material_light.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_light"; 2 | @import "../core/main"; -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/_core_bg.scss: -------------------------------------------------------------------------------- 1 | html, body, :root, #root, 2 | [style*="background-color: #FFFFFF"], [style*="background-color: #E4E6EB"] { 3 | background: $bg_transparent !important; 4 | } 5 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/_core_border.scss: -------------------------------------------------------------------------------- 1 | [role="navigation"] { 2 | border-right: 2px solid $bg_opaque2 !important; 3 | } -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/_core_hider.scss: -------------------------------------------------------------------------------- 1 | // Sizing adjustments 2 | [role="navigation"] { 3 | .rq0escxv.l9j0dhe7.du4w35lb.j83agx80.g5gj957u.rj1gh0hx.buofh1pr.hpfvmrgz.i1fnvgqd.bp9cbjyn.owycx6da.btwxx1t3.dflh9lhu.scb9dxdr.sj5x9vvc.cxgpxx05.sn0e7ne5.f6rbj1fe.l3ldwz01 /* New! Messenger app for windows */, 4 | .rq0escxv.l9j0dhe7.du4w35lb.n851cfcs.aahdfvyu /* Search messenger */, 5 | .wkznzc2l /* Top left chat + menu entry */ { 6 | display: none !important; 7 | } 8 | } 9 | 10 | header[role="banner"] /* login banner */, 11 | ._90px._9gb7 /* login bottom banner */, 12 | .rq0escxv.l9j0dhe7.du4w35lb.j83agx80.cbu4d94t.pfnyh3mw.d2edcug0.hpfvmrgz.p8fzw8mz.pcp91wgn.iuny7tx3.ipjc6fyt /* Top bar call video info icons */, 13 | .kuivcneq /* Right sidebar */ { 14 | display: none !important; 15 | } 16 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/_core_text.scss: -------------------------------------------------------------------------------- 1 | html, body, input { 2 | color: $text !important; 3 | } -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/_main.scss: -------------------------------------------------------------------------------- 1 | @import "core"; 2 | 3 | //this file is used as the base for all messenger themes 4 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/core/core.scss: -------------------------------------------------------------------------------- 1 | @import "../../core/colors"; 2 | @import "../../core/base"; 3 | @import "../../core/core_vars"; 4 | @import "core_text"; 5 | @import "core_bg"; 6 | @import "core_border"; 7 | @import "core_hider"; 8 | 9 | @include placeholder { 10 | color: $text_disabled !important; 11 | } -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/.gitignore: -------------------------------------------------------------------------------- 1 | test.scss 2 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/custom.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/custom"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/default.scss: -------------------------------------------------------------------------------- 1 | @import "../core/core_hider"; 2 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/material_amoled.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_amoled"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/material_dark.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_dark"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/material_glass.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_glass"; 2 | @import "../core/main"; 3 | -------------------------------------------------------------------------------- /app/src/web/scss/messenger/themes/material_light.scss: -------------------------------------------------------------------------------- 1 | @import "../../palette/material_light"; 2 | @import "../core/main"; -------------------------------------------------------------------------------- /app/src/web/scss/palette/_custom.scss: -------------------------------------------------------------------------------- 1 | $bg_transparent: unquote('$BT$'); 2 | $text: unquote('$T$'); 3 | $text_disabled: unquote('$TD$'); 4 | $link: unquote('$TT$'); 5 | $accent: unquote('$A$'); 6 | $accent_text: unquote('$AT$'); 7 | $background: unquote('$B$'); 8 | $background2: unquote('$BBT$'); 9 | $bg_opaque: unquote('$O$'); 10 | $bg_opaque2: unquote('$OO$'); 11 | $divider: unquote('$D$'); 12 | $card: unquote('$C$'); 13 | $tint: unquote('$TI$'); 14 | -------------------------------------------------------------------------------- /app/src/web/scss/palette/_material_amoled.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: #000; 6 | $background2: rgba($background, 0.35); 7 | $bg_transparent: $background; 8 | $card: $background2; 9 | $tint: rgba(#fff, 0.2); 10 | -------------------------------------------------------------------------------- /app/src/web/scss/palette/_material_dark.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: #303030; 6 | $bg_transparent: $background; 7 | $card: #353535; 8 | $tint: rgba(#fff, 0.2); 9 | -------------------------------------------------------------------------------- /app/src/web/scss/palette/_material_glass.scss: -------------------------------------------------------------------------------- 1 | $text: #fff; 2 | $accent_text: #fff; 3 | $link: #5d86dd; 4 | $accent: #5d86dd; 5 | $background: rgba(#000, 0.1); 6 | $bg_transparent: transparent; 7 | $card: rgba(#000, 0.25); 8 | $tint: rgba(#fff, 0.15); -------------------------------------------------------------------------------- /app/src/web/scss/palette/_material_light.scss: -------------------------------------------------------------------------------- 1 | $text: #000; 2 | $accent_text: #fff; 3 | $link: #3b5998; 4 | $accent: #3b5998; 5 | $background: #fafafa; 6 | // this is actually the inverse of material light (bg should be gray, cards should be white), 7 | // but it looks better than the alternative 8 | $background2: rgba(darken($background, 8%), 0.35); 9 | 10 | $bg_transparent: $background; 11 | 12 | $card: #fff; 13 | $tint: #ddd; -------------------------------------------------------------------------------- /app/src/web/ts/click_debugger.ts: -------------------------------------------------------------------------------- 1 | // For desktop only 2 | 3 | (function () { 4 | const _frostAContext = (e: Event) => { 5 | // Commonality; check for valid target 6 | const element = e.target || e.currentTarget || e.srcElement; 7 | if (!(element instanceof Element)) { 8 | console.log("No element found"); 9 | return 10 | } 11 | console.log(`Clicked element ${element.tagName} ${element.className}`); 12 | }; 13 | 14 | document.addEventListener('contextmenu', _frostAContext, true); 15 | }).call(undefined); 16 | -------------------------------------------------------------------------------- /app/src/web/ts/document_watcher.ts: -------------------------------------------------------------------------------- 1 | // Emit key once half the viewport is covered 2 | (function () { 3 | const isReady = () => { 4 | return document.body.scrollHeight > innerHeight + 100 5 | }; 6 | 7 | if (isReady()) { 8 | console.log('Already ready'); 9 | Frost.isReady(); 10 | return 11 | } 12 | 13 | console.log('Injected document watcher'); 14 | 15 | const observer = new MutationObserver(() => { 16 | if (isReady()) { 17 | observer.disconnect(); 18 | Frost.isReady(); 19 | console.log(`Documented surpassed height in ${performance.now()}`); 20 | } 21 | }); 22 | 23 | observer.observe(document, { 24 | childList: true, 25 | subtree: true 26 | }) 27 | }).call(undefined); 28 | -------------------------------------------------------------------------------- /app/src/web/ts/header_badges.ts: -------------------------------------------------------------------------------- 1 | // Fetches the header contents if it exists 2 | (function() { 3 | const header = document.getElementById('header'); 4 | if (header) { 5 | Frost.handleHeader(header.outerHTML); 6 | } 7 | }).call(undefined); 8 | -------------------------------------------------------------------------------- /app/src/web/ts/notif_msg.ts: -------------------------------------------------------------------------------- 1 | // Binds callback to an invisible webview to take in the search events 2 | (function () { 3 | let finished = false; 4 | const x = new MutationObserver(() => { 5 | const _f_thread = document.querySelector('#threadlist_rows'); 6 | if (!_f_thread) { 7 | return 8 | } 9 | console.log(`Found message threads ${_f_thread.outerHTML}`); 10 | Frost.handleHtml(_f_thread.outerHTML); 11 | finished = true; 12 | x.disconnect(); 13 | }); 14 | x.observe(document, { 15 | childList: true, 16 | subtree: true 17 | }); 18 | setTimeout(() => { 19 | if (!finished) { 20 | finished = true; 21 | console.log('Message thread timeout cancellation'); 22 | Frost.handleHtml("") 23 | } 24 | }, 20000); 25 | }).call(undefined); 26 | -------------------------------------------------------------------------------- /app/src/web/ts/scroll_stop.ts: -------------------------------------------------------------------------------- 1 | // Listen when scrolling events stop 2 | (function () { 3 | let scrollTimeout: number | undefined = undefined; 4 | let scrolling: boolean = false; 5 | 6 | window.addEventListener('scroll', function (event) { 7 | 8 | if (!scrolling) { 9 | Frost.setScrolling(true); 10 | scrolling = true; 11 | } 12 | 13 | window.clearTimeout(scrollTimeout); 14 | 15 | scrollTimeout = setTimeout(function () { 16 | if (scrolling) { 17 | Frost.setScrolling(false); 18 | scrolling = false; 19 | } 20 | }, 600); 21 | // For our specific use case, we want to release other features pretty far after scrolling stops 22 | // For general scrolling use cases, the delta can be much smaller 23 | // My assumption for context menus is that the long press is 500ms 24 | }, false); 25 | }).call(undefined); -------------------------------------------------------------------------------- /app/src/web/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es3", 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "allowSyntheticDefaultImports": true, 7 | "strict": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "module": "esnext", 10 | "moduleResolution": "node", 11 | "isolatedModules": false, 12 | // Extras 13 | "strictNullChecks": true, 14 | "noImplicitAny": true, 15 | "allowUnreachableCode": true, 16 | "allowUnusedLabels": true, 17 | "removeComments": true, 18 | "outDir": "assets/js" 19 | }, 20 | "include": [ 21 | "ts", "typings" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /app/src/web/typings/frost.d.ts: -------------------------------------------------------------------------------- 1 | declare interface FrostJSI { 2 | loadUrl(url: string | null): boolean 3 | 4 | loadVideo(url: string | null, isGif: boolean): boolean 5 | 6 | reloadBaseUrl(animate: boolean) 7 | 8 | contextMenu(url: string | null, text: string | null) 9 | 10 | longClick(start: boolean) 11 | 12 | disableSwipeRefresh(disable: boolean) 13 | 14 | loadLogin() 15 | 16 | loadImage(imageUrl: string, text: string | null) 17 | 18 | emit(flag: number) 19 | 20 | isReady() 21 | 22 | handleHtml(html: string | null) 23 | 24 | handleHeader(html: string | null) 25 | 26 | allowHorizontalScrolling(enable: boolean) 27 | 28 | setScrolling(scrolling: boolean) 29 | 30 | isScrolling(): boolean 31 | } 32 | 33 | declare var Frost: FrostJSI; 34 | -------------------------------------------------------------------------------- /buildSrc-old/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | build/ -------------------------------------------------------------------------------- /buildSrc-old/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | `kotlin-dsl` 3 | } 4 | 5 | group = "com.pitchedapps" 6 | 7 | repositories { 8 | mavenCentral() 9 | maven("https://jitpack.io") 10 | } 11 | 12 | var isRoot = false 13 | // Currently can't read properties from root project 14 | // Reading it manually since it's simple 15 | val rootProps = 16 | File( 17 | project.rootDir.let { 18 | if (it.name == "buildSrc") { 19 | it.parent 20 | } else { 21 | isRoot = true 22 | it.absolutePath 23 | } 24 | }, 25 | "gradle.properties" 26 | ) 27 | val kau = rootProps.useLines { 28 | it.first { s -> s.startsWith("KAU=") } 29 | }.substring(4).trim() 30 | 31 | if (isRoot) { 32 | println("Using kau $kau") 33 | } 34 | 35 | dependencies { 36 | implementation("ca.allanwang.kau:gradle-plugin:$kau") 37 | } 38 | -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - source: /app/src/main/res/values/strings*.xml 3 | ignore: 4 | - /app/src/main/res/values/strings_no_translate.xml 5 | translation: /app/src/main/res/values-%android_code%/%original_file_name% 6 | -------------------------------------------------------------------------------- /docs/Privacy.md: -------------------------------------------------------------------------------- 1 | In short, Frost for Facebook does not collect any sensitive identifiable information. 2 | 3 | Each user is assigned a random id when they install the app, which is used when submitting emails within the app, or automatic bug reports. 4 | If you wish, you may disable automatic bug reports in the app settings. 5 | Note that Frost still depends on Facebook's mobile site, so you may want to review Facebook's privacy policy before continuing. 6 | 7 | Locally, Frost will store your cookie in an app specific folder, as well as your Facebook user id, which allows for features like multi user accounts. 8 | This is never shared beyond the app itself. -------------------------------------------------------------------------------- /docs/img/inspect_element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/docs/img/inspect_element.png -------------------------------------------------------------------------------- /favicon/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/android-chrome-192x192.png -------------------------------------------------------------------------------- /favicon/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/android-chrome-512x512.png -------------------------------------------------------------------------------- /favicon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/apple-touch-icon.png -------------------------------------------------------------------------------- /favicon/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | #da532c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/favicon.ico -------------------------------------------------------------------------------- /favicon/mstile-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/mstile-144x144.png -------------------------------------------------------------------------------- /favicon/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/mstile-150x150.png -------------------------------------------------------------------------------- /favicon/mstile-310x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/mstile-310x150.png -------------------------------------------------------------------------------- /favicon/mstile-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/mstile-310x310.png -------------------------------------------------------------------------------- /favicon/mstile-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/favicon/mstile-70x70.png -------------------------------------------------------------------------------- /favicon/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /files/.gitignore: -------------------------------------------------------------------------------- 1 | release.keystore 2 | release.properties 3 | test.keystore 4 | test.properties 5 | update-dev.sh 6 | 7 | frost.tar 8 | frost_github.tar 9 | -------------------------------------------------------------------------------- /files/debug.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/files/debug.keystore -------------------------------------------------------------------------------- /files/frost_github.tar.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/files/frost_github.tar.gpg -------------------------------------------------------------------------------- /files/github_actions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Add appropriate files for encryption 4 | # https://docs.github.com/en/actions/reference/encrypted-secrets#limits-for-secrets 5 | 6 | rm frost_github.tar.gpg 7 | tar cvf frost_github.tar release.keystore release.properties test.keystore test.properties 8 | gpg --symmetric --cipher-algo AES256 frost_github.tar 9 | rm frost_github.tar -------------------------------------------------------------------------------- /files/translation_migration.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | MODULE=Frost-for-Facebook 4 | 5 | cd .. 6 | 7 | current=${PWD##*/} 8 | 9 | if [[ "$current" != "$MODULE" ]]; then 10 | echo "Not in $MODULE"; 11 | else 12 | # DANGEROUS! Removes all files matching regex 13 | grep -Lir "" --include="strings*.xml" "app/src/main/res" | tr '\n' '\0' | xargs -0 -n1 rm 14 | # Delete empty directories 15 | find . -type d -empty -delete 16 | fi 17 | 18 | echo "Finished cleaning files" -------------------------------------------------------------------------------- /files/travis.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Add appropriate files for encryption 4 | 5 | rm frost.tar.enc 6 | cd .. 7 | tar cvf frost.tar files/release.keystore files/release.properties files/test.keystore files/test.properties 8 | travis encrypt-file frost.tar --add 9 | rm frost.tar 10 | mv frost.tar.enc files/ -------------------------------------------------------------------------------- /files/update-dev.txt: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Script to reset dev branch to master 4 | # Once it is squashed and merged on github 5 | # Copy this to a sh file, which is gitignored 6 | # So there won't be save conflicts 7 | 8 | git checkout dev 9 | git cmp hard rebase 10 | git branch -f dev-bak dev 11 | git checkout master 12 | git pull -f origin master 13 | git branch -f dev master 14 | git checkout dev 15 | git push -u -f origin dev 16 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AllanWang/Frost-for-Facebook/653f67b5a9de45f965cf4c53aca2fb60f37a3afa/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip 3 | distributionPath=wrapper/dists 4 | zipStorePath=wrapper/dists 5 | zipStoreBase=GRADLE_USER_HOME 6 | -------------------------------------------------------------------------------- /priv.sample.properties: -------------------------------------------------------------------------------- 1 | COOKIE= -------------------------------------------------------------------------------- /spotless.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.diffplug.spotless" 2 | 3 | spotless { 4 | kotlin { 5 | target "**/*.kt" 6 | ktfmt().googleStyle() 7 | licenseHeaderFile '../spotless.license.kt' 8 | trimTrailingWhitespace() 9 | endWithNewline() 10 | } 11 | } -------------------------------------------------------------------------------- /spotless.license.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright $YEAR Allan Wang 3 | * 4 | * This program is free software: you can redistribute it and/or modify 5 | * it under the terms of the GNU General Public License as published by 6 | * the Free Software Foundation, either version 3 of the License, or 7 | * (at your option) any later version. 8 | * 9 | * This program is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with this program. If not, see . 16 | */ --------------------------------------------------------------------------------