mirror of
https://github.com/AllanWang/Frost-for-Facebook.git
synced 2024-11-09 20:42:34 +01:00
Update image downloads , IAB, and many issue reports (#95)
* Remove iab proguard line * Remove dup vending aidl * Fix double calling issue * Change pro logging * Remove async call * Allow for multiple result flags from settings * Rename restore to get * Remove remaining async * Add null checks across web clients * Do not delete temp file on save * Implement image logic * Update file chooser * Update travis * Add intent checker * Update dependencies * Update dependencies * Add debugging option * Switch context for login glide * Scan newly added files * Update theme * Allow image downloading in messages * Finalize beta release * Build to beta * Update strings
This commit is contained in:
parent
913eaf7ea0
commit
d94bc858c8
@ -5,7 +5,7 @@ android:
|
||||
components:
|
||||
- tools
|
||||
- platform-tools
|
||||
- build-tools-26.0.0
|
||||
- build-tools-26.0.1
|
||||
- android-26
|
||||
- extra-android-support
|
||||
- extra-android-m2repository
|
||||
@ -32,7 +32,7 @@ notifications:
|
||||
on_success: always
|
||||
on_failure: always
|
||||
template:
|
||||
- Frost Build <%{build_url}|#%{build_number}> (<%{compare_url}|%{commit}>) %{result}
|
||||
- Frost Build <%{build_url}|#%{build_number}> (<%{compare_url}|%{commit}>) of %{repository}@%{branch} %{result}
|
||||
in %{duration}
|
||||
- "%{commit_subject}"
|
||||
- "<https://github.com/AllanWang/Frost-for-Facebook-APK-Builder/releases/tag/v%{build_number}|APK
|
||||
|
@ -10,7 +10,7 @@ apply plugin: 'com.github.triplet.play'
|
||||
|
||||
play {
|
||||
jsonFile = file('../files/gplay-keys.json')
|
||||
track = 'alpha'
|
||||
track = 'beta'
|
||||
errorOnSizeLimit = true
|
||||
uploadImages = false
|
||||
untrackOld = true
|
||||
|
@ -120,7 +120,10 @@
|
||||
android:theme="@style/Kau.About" />
|
||||
<activity
|
||||
android:name=".activities.ImageActivity"
|
||||
android:theme="@style/FrostTheme.Overlay.Fade" />
|
||||
android:theme="@style/Kau.ImagePicker.Overlay" />
|
||||
<activity
|
||||
android:name=".activities.ImagePickerActivity"
|
||||
android:theme="@style/FrostTheme.Overlay.Slide" />
|
||||
|
||||
<service
|
||||
android:name=".services.NotificationService"
|
||||
@ -135,8 +138,8 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<provider
|
||||
android:authorities="${applicationId}.provider"
|
||||
android:name="android.support.v4.content.FileProvider"
|
||||
android:authorities="${applicationId}.provider"
|
||||
android:exported="false"
|
||||
android:grantUriPermissions="true">
|
||||
<meta-data
|
||||
|
@ -1,6 +1,6 @@
|
||||
#viewport { background: #451515 !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: rgba(255, 0, 255, 0.02) !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: rgba(255, 0, 255, 0.02) !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: rgba(255, 0, 255, 0.02) !important; }
|
||||
|
||||
@ -10,7 +10,7 @@ body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: rgba(199, 70, 70, 0.2) !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #d7b0d7 !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #d7b0d7 !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid rgba(215, 176, 215, 0.3) !important; }
|
||||
|
||||
@ -18,7 +18,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(215, 176, 215, 0.3) !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(215, 176, 215, 0.3) !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(215, 176, 215, 0.3) !important; }
|
||||
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(215, 176, 215, 0.3) !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid rgba(255, 0, 255, 0.02) !important; border-right: 10px solid rgba(255, 0, 255, 0.02) !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid #d7b0d7 !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid #d7b0d7 !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid #d7b0d7 !important; }
|
||||
|
||||
|
@ -6,8 +6,8 @@
|
||||
}
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates,
|
||||
.tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb,
|
||||
._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v,
|
||||
.tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0,
|
||||
._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2,
|
||||
._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton,
|
||||
._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d,
|
||||
.acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel,
|
||||
@ -37,7 +37,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
background: $background2 !important;
|
||||
}
|
||||
|
||||
[style*="color"], body, input,
|
||||
[style*="color"], body, input, ._42rv,
|
||||
._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf,
|
||||
._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac,
|
||||
textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb,
|
||||
@ -64,7 +64,7 @@ h1, h2, h3, h4, h5, h6 {
|
||||
border-top: 1px solid $divider !important;
|
||||
}
|
||||
|
||||
._15ny::after, ._z-w,
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0,
|
||||
._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8,
|
||||
._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb,
|
||||
._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc,
|
||||
@ -116,7 +116,7 @@ h1, h2, h3, h4, h5, h6 {
|
||||
border-right: 10px solid $bg_transparent !important;
|
||||
}
|
||||
|
||||
._2cir.selected {
|
||||
._2cir.selected, ._42rv {
|
||||
border-bottom: 3px solid $text !important;
|
||||
}
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#viewport { background: $B$ !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: $BT$ !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: $BT$ !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: $BT$ !important; }
|
||||
|
||||
#page { background: transparent !important; }
|
||||
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p { background: $O$ !important; }
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p, .mentions-suggest-item, .mentions-suggest { background: $O$ !important; }
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: $BBT$ !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: $T$ !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: $T$ !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid $D$ !important; }
|
||||
|
||||
._4_d1 { border-right: 1px solid $D$ !important; }
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid $D$ !important; }
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid $D$ !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid $D$ !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid $D$ !important; }
|
||||
|
||||
._d4i, ._f6s, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid $D$ !important; }
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid $D$ !important; }
|
||||
|
||||
._4o58::after, .acw, .aclb, ._4qax, ._5h8f { border-color: $D$ !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid $BT$ !important; border-right: 10px solid $BT$ !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid $T$ !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid $T$ !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid $T$ !important; }
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#viewport { background: #000 !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #000 !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #000 !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: #000 !important; }
|
||||
|
||||
#page { background: transparent !important; }
|
||||
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p { background: black !important; }
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p, .mentions-suggest-item, .mentions-suggest { background: black !important; }
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: rgba(89, 89, 89, 0.2) !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4_d1 { border-right: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._d4i, ._f6s, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4o58::after, .acw, .aclb, ._4qax, ._5h8f { border-color: rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid #000 !important; border-right: 10px solid #000 !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid #fff !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid #fff !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid #fff !important; }
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#viewport { background: #303030 !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #303030 !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #303030 !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: #303030 !important; }
|
||||
|
||||
#page { background: transparent !important; }
|
||||
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p { background: #303030 !important; }
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p, .mentions-suggest-item, .mentions-suggest { background: #303030 !important; }
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: rgba(137, 137, 137, 0.2) !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4_d1 { border-right: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._d4i, ._f6s, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4o58::after, .acw, .aclb, ._4qax, ._5h8f { border-color: rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid #303030 !important; border-right: 10px solid #303030 !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid #fff !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid #fff !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid #fff !important; }
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#viewport { background: rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: transparent !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: transparent !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: transparent !important; }
|
||||
|
||||
#page { background: transparent !important; }
|
||||
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p { background: black !important; }
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p, .mentions-suggest-item, .mentions-suggest { background: black !important; }
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: rgba(128, 128, 128, 0.05) !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #fff !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4_d1 { border-right: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._d4i, ._f6s, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
._4o58::after, .acw, .aclb, ._4qax, ._5h8f { border-color: rgba(255, 255, 255, 0.3) !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid transparent !important; border-right: 10px solid transparent !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid #fff !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid #fff !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid #fff !important; }
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
#viewport { background: #fafafa !important; }
|
||||
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #fafafa !important; }
|
||||
body, #root, #header, [style*="background-color"], ._55wo, ._1upc, input, ._2f9r, ._59e9, ._5pz4, ._5lp4, ._5lp5, .container, .subpage, ._5n_f, #static_templates, .tlBody, #timelineBody, .timelineX, .timeline, .feed, .tlPrelude, .tlFeedPlaceholder, ._4_d0, .al, ._1gkq, ._5c5b, ._1qxg, ._5luf, ._2new, ._cld, ._3zvb, ._2nk0, ._11ub, ._5p7j, ._55wm, ._5rgs, ._5xuj, ._1sv1, ._45fu, ._18qg, ._1_ac, ._5w3g, ._3e18, ._10c_, ._2jl2, ._5q_r, ._5yt8, ._idb, ._2ip_, ._f6s, ._2l5v, ._8i2, ._d4i, ._577z, ._2u4w, ._3u9p, ._3u9t, ._2v9s, ._cw4, ._5_y-, ._5_y_, ._5_z3, ._cwy, ._5_z0, ._5_z1, ._5_z2, ._2mtc, ._206a, ._1_-1, ._1ybg, .appCenterCategorySelectorButton, ._5c9u, div._5y57::before, ._59f6._55so::before, .structuredPublisher, ._94v, ._vqv, ._5lp5, ._55wm, ._2om3, ._2ol-, ._1f9d, ._vee, ._31a-, ._3r8b, ._3r9d, .acw, ._4_xl, ._1p70, ._1p70, ._1ih_, ._51v6, ._u2c, ._484w, ._3ils, ._rm7, ._32qk, ._d01, ._2y60, ._5fu3, ._2foa, ._2y5_, ._38o9, ._1kb, .mAppCenterFatLabel, ._3f50, .mentions-placeholder, .mentions, .mentions-shadow, .mentions-measurer, .acg, ._59tu, ._52z5, ._4l9b, ._4gj3, .groupChromeView, ._uww, textarea, ._15n_, ._skt, ._5f28, ._14_j, ._3bg5, ._53_-, ._52x1 { background: #fafafa !important; }
|
||||
|
||||
._cv_, ._2sq8 { background-color: #fafafa !important; }
|
||||
|
||||
#page { background: transparent !important; }
|
||||
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p { background: #fafafa !important; }
|
||||
.jewel, .flyout, ._13e_, ._5-lw, ._5c0e, .jx-result, ._336p, .mentions-suggest-item, .mentions-suggest { background: #fafafa !important; }
|
||||
|
||||
button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS, .touch::before, ._590n, ._4g8h, ._5xo2, ._5u5a::before, ._4u3j, ._15ks, ._5hua, ._59tt, ._41ft, .jx-tokenizer, ._55fj, .excessItem, ._4e8n, ._5pxa._3uj9, ._5n_5, ._u2d, ._56bu::before, ._5h8f, ._d00, ._2066, ._2k51, ._4qax, .aclb, ._4756, ._w34, ._56bv::before, ._5769, ._34iv, ._z-w, .acbk { background: rgba(255, 255, 255, 0.2) !important; }
|
||||
|
||||
[style*="color"], body, input, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #000 !important; }
|
||||
[style*="color"], body, input, ._42rv, ._z-z, ._z-v, ._1e8d, ._36nl, ._36nm, ._2_11, ._2_rf, ._43mh, .touch .btn, p, span, .fcg, button, ._52j9, ._52jb, ._52ja, ._5j35, ._rnk, ._24u0, ._1g06, ._14ye, .fcb, ._56cz._56c_, ._1gk_, ._55fj, ._45fu, ._18qg, ._1_ac, textarea, ._24pi, ._4en9, ._1kb, ._5p7j, ._2klz, ._5780, ._5781, ._5782, ._3u9u, ._3u9_, ._3u9s, ._1hcx, ._2066, ._1_-1, ._cv_, ._1nbx, ._2cuh, ._4ms9, ._4ms5, ._4ms6, ._31b4, ._31b5, ._5q_r, ._idb, ._27vp, ._4nwe, ._4nw9, ._27vi, .appCenterAppInfo, .appCenterPermissions, ._3c9l, ._3c9m, ._4jn_, ._32qt, ._3mom, ._3moo, ._-7o, ._d00, ._d01, ._559g, ._2new, .appCenterCategorySelectorButton, .mentions-input, .mentions-placeholder, .fcw, ._5-7t, .fcl, ._4qas, .thread-title, .title, ._46pa, ._336p, ._1rrd, ._2om4, ._3m1m, ._2om2, ._5n_e, .appListExplanation, ._5yt8, ._8he, ._2luw, ._5rgs, h1, h2, h3, h4, h5, h6 { color: #000 !important; }
|
||||
|
||||
._15kl::before, ._5j35::after, ._2k4b, ._3to7, ._4nw8 { border-left: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
._4_d1 { border-right: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
._1mx0, ._1rbr, ._5yt8, ._idb, ._cld, ._15n_, ._3-2-, ._27ve, ._2s20, ._gui, ._2s21 > *::after, ._32qk, ._d00, ._d01, ._38o9, ._2u4w, ._3u9t, ._55fj, ._52x1, ._3wjp, ._usq, ._2cul:before, ._13e_, .jewel .flyout, ._3bg5 ._52x6, ._3on6, ._2om3, ._2ol-, ._56d8, .al, ._1gkq, ._5fjv, ._5fjw, ._4z83 { border-top: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
._15ny::after, ._z-w, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
._15ny::after, ._z-w, ._8i2, ._2nk0, ._2u4w, ._577z:not(:last-child) ._ygd, ._3u9u, ._3mgz, ._52x6, ._2066, ._5luf, .mAppCenterFatLabel, .appCenterCategorySelectorButton, ._1q6v, ._5q_r, ._5yt8, ._ap1, ._52x1, ._59tu, ._usq, ._13e_, ._59f6._55so::before, ._4gj3, .jx-result, ._2om3, ._2ol-, ._1f9d, ._vef, ._55x2 > *, .al, ._44qk, ._1gkq, ._5rgs, ._5xuj, ._1sv1, ._idb, ._5lp5, ._3-2-, ._3to6, ._ir5, ._4nw6, ._4nwh, ._27ve, div._51v6::before, ._3c9h::before, ._2s20, ._gui, ._5jku, ._2foa, ._2y60, ._5fu3, ._4en9, ._1kb:not(:last-child) ._1kc, ._5pz4, ._5lp4, ._5lp5, ._3on6, ._5h6z, ._5h6x, ._2om4, ._5fjw > div, ._5fjv > :first-child, ._5fjw > :first-child, ._5fjv, ._5fjw, ._4z83 { border-bottom: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
._d4i, ._f6s, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
._d4i, ._f6s, .mentions-suggest-item, .mentions-suggest, ._1_y5, ._lr0, ._5hgt, ._4e8n, ._uww, .mentions-placeholder, .mentions-shadow, .mentions-measurer, ._5whq, ._59tt, ._41ft::after, .jx-tokenizer, ._3uqf, ._4756, ._1rrd, ._5n_f { border: 1px solid rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
._4o58::after, .acw, .aclb, ._4qax, ._5h8f { border-color: rgba(0, 0, 0, 0.3) !important; }
|
||||
|
||||
@ -34,7 +34,7 @@ button:not([style*=image]), button::before, .touch ._56bt, ._56be::before, .btnS
|
||||
|
||||
._2cis { border-left: 10px solid #fafafa !important; border-right: 10px solid #fafafa !important; }
|
||||
|
||||
._2cir.selected { border-bottom: 3px solid #000 !important; }
|
||||
._2cir.selected, ._42rv { border-bottom: 3px solid #000 !important; }
|
||||
|
||||
._484w.selected > ._6zf, ._5kqs::after, ._3lvo ._5xum._5xuk { border-bottom: 1px solid #000 !important; }
|
||||
|
||||
|
@ -32,11 +32,26 @@ if (!window.hasOwnProperty('frost_context_a')) {
|
||||
var imageUrl = window.getComputedStyle(image, null).backgroundImage.slice(5, -2);
|
||||
console.log('Context image', imageUrl);
|
||||
if (typeof Frost !== 'undefined') Frost.loadImage(imageUrl, text);
|
||||
} else {
|
||||
if (url.includes('photoset_token')) return;
|
||||
console.log('Context Content', url, text);
|
||||
if (typeof Frost !== 'undefined') Frost.contextMenu(url, text);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
//check if true img exists
|
||||
var img = element.querySelector('img[src*=scontent]')
|
||||
if (img) {
|
||||
var imgUrl = img.src;
|
||||
console.log('Context img', imgUrl);
|
||||
if (typeof Frost !== 'undefined') Frost.loadImage(imgUrl, text);
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
if (url.includes('photoset_token')) return;
|
||||
console.log('Context Content', url, text);
|
||||
if (typeof Frost !== 'undefined') Frost.contextMenu(url, text);
|
||||
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
|
20
app/src/main/assets/js/context_a.min.js
vendored
20
app/src/main/assets/js/context_a.min.js
vendored
@ -13,13 +13,21 @@ var o=t.getAttribute("href")
|
||||
;if(r||(r=t.parentNode.querySelector('[style*="background-image: url("]')),
|
||||
r){
|
||||
var a=window.getComputedStyle(r,null).backgroundImage.slice(5,-2)
|
||||
;console.log("Context image",a),
|
||||
"undefined"!=typeof Frost&&Frost.loadImage(a,n)
|
||||
}else{
|
||||
if(o.includes("photoset_token"))return
|
||||
;console.log("Context Content",o,n),"undefined"!=typeof Frost&&Frost.contextMenu(o,n)
|
||||
;return console.log("Context image",a),
|
||||
"undefined"!=typeof Frost&&Frost.loadImage(a,n),
|
||||
e.stopPropagation(),void e.preventDefault()
|
||||
}
|
||||
e.stopPropagation(),e.preventDefault()
|
||||
var i=t.querySelector("img[src*=scontent]")
|
||||
;if(i){
|
||||
var l=i.src
|
||||
;return console.log("Context img",l),"undefined"!=typeof Frost&&Frost.loadImage(l,n),
|
||||
e.stopPropagation(),
|
||||
void e.preventDefault()
|
||||
}
|
||||
if(o.includes("photoset_token"))return
|
||||
;console.log("Context Content",o,n),"undefined"!=typeof Frost&&Frost.contextMenu(o,n),
|
||||
e.stopPropagation(),
|
||||
e.preventDefault()
|
||||
}
|
||||
}
|
||||
;document.addEventListener("contextmenu",_frostAContext,!0),document.addEventListener("touchend",function(e){
|
||||
|
@ -40,6 +40,7 @@ class AboutActivity : AboutActivityBase(null, {
|
||||
val include = arrayOf(
|
||||
"AboutLibraries",
|
||||
"AndroidIconics",
|
||||
"androidin_appbillingv3",
|
||||
"androidslidinguppanel",
|
||||
"Crashlytics",
|
||||
"dbflow",
|
||||
|
@ -15,6 +15,7 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
import ca.allanwang.kau.email.sendEmail
|
||||
import ca.allanwang.kau.permissions.PERMISSION_WRITE_EXTERNAL_STORAGE
|
||||
import ca.allanwang.kau.permissions.kauOnRequestPermissionsResult
|
||||
import ca.allanwang.kau.permissions.kauRequestPermissions
|
||||
@ -30,10 +31,7 @@ import com.mikepenz.google_material_typeface_library.GoogleMaterial
|
||||
import com.mikepenz.iconics.typeface.IIcon
|
||||
import com.pitchedapps.frost.BuildConfig
|
||||
import com.pitchedapps.frost.R
|
||||
import com.pitchedapps.frost.utils.ARG_IMAGE_URL
|
||||
import com.pitchedapps.frost.utils.ARG_TEXT
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import com.pitchedapps.frost.utils.Prefs
|
||||
import com.pitchedapps.frost.utils.*
|
||||
import com.sothree.slidinguppanel.SlidingUpPanelLayout
|
||||
import org.jetbrains.anko.doAsync
|
||||
import org.jetbrains.anko.uiThread
|
||||
@ -194,6 +192,7 @@ class ImageActivity : AppCompatActivity() {
|
||||
var success = true
|
||||
try {
|
||||
File(tempFilePath).copyTo(destination, true)
|
||||
scanFile(destination)
|
||||
} catch (e: Exception) {
|
||||
success = false
|
||||
} finally {
|
||||
@ -201,10 +200,7 @@ class ImageActivity : AppCompatActivity() {
|
||||
uiThread {
|
||||
val text = if (success) R.string.image_download_success else R.string.image_download_fail
|
||||
snackbar(text)
|
||||
if (success) {
|
||||
deleteTempFile()
|
||||
fabAction = FabStates.SHARE
|
||||
}
|
||||
if (success) fabAction = FabStates.SHARE
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -212,6 +208,17 @@ class ImageActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* See <a href="https://developer.android.com/training/camera/photobasics.html#TaskGallery">Docs</a>
|
||||
*/
|
||||
internal fun scanFile(file: File) {
|
||||
if (!file.exists()) return
|
||||
val mediaScanIntent = Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)
|
||||
val contentUri = Uri.fromFile(file)
|
||||
mediaScanIntent.data = contentUri
|
||||
this.sendBroadcast(mediaScanIntent)
|
||||
}
|
||||
|
||||
internal fun deleteTempFile() {
|
||||
if (tempFilePath != null) {
|
||||
File(tempFilePath!!).delete()
|
||||
@ -233,7 +240,17 @@ class ImageActivity : AppCompatActivity() {
|
||||
internal enum class FabStates(val iicon: IIcon, val iconColor: Int = Prefs.iconColor, val backgroundTint: Int = Prefs.iconBackgroundColor.withAlpha(255)) {
|
||||
ERROR(GoogleMaterial.Icon.gmd_error, Color.WHITE, Color.RED) {
|
||||
override fun onClick(activity: ImageActivity) {
|
||||
//todo add something
|
||||
activity.materialDialogThemed {
|
||||
title(R.string.kau_error)
|
||||
content(R.string.bad_image_overlay)
|
||||
positiveText(R.string.kau_yes)
|
||||
onPositive { _, _ ->
|
||||
activity.sendEmail(R.string.dev_email, R.string.debug_image_link_subject) {
|
||||
addItem("Url", activity.imageUrl)
|
||||
}
|
||||
}
|
||||
negativeText(R.string.kau_no)
|
||||
}
|
||||
}
|
||||
},
|
||||
NOTHING(GoogleMaterial.Icon.gmd_adjust) {
|
||||
|
@ -0,0 +1,12 @@
|
||||
package com.pitchedapps.frost.activities
|
||||
|
||||
import android.content.res.ColorStateList
|
||||
import android.os.Bundle
|
||||
import ca.allanwang.kau.imagepicker.ImagePickerActivityBase
|
||||
import ca.allanwang.kau.imagepicker.ImagePickerActivityOverlayBase
|
||||
import com.pitchedapps.frost.utils.Prefs
|
||||
|
||||
/**
|
||||
* Created by Allan Wang on 2017-07-23.
|
||||
*/
|
||||
class ImagePickerActivity : ImagePickerActivityOverlayBase()
|
@ -106,7 +106,7 @@ class LoginActivity : BaseActivity() {
|
||||
|
||||
|
||||
fun loadProfile(id: Long) {
|
||||
Glide.with(this@LoginActivity).load(PROFILE_PICTURE_URL(id)).withRoundIcon().listener(object : RequestListener<Drawable> {
|
||||
Glide.with(profile).load(PROFILE_PICTURE_URL(id)).withRoundIcon().listener(object : RequestListener<Drawable> {
|
||||
override fun onResourceReady(resource: Drawable?, model: Any?, target: Target<Drawable>?, dataSource: DataSource?, isFirstResource: Boolean): Boolean {
|
||||
profileObservable.onSuccess(true)
|
||||
return false
|
||||
|
@ -1,12 +1,12 @@
|
||||
package com.pitchedapps.frost.activities
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.app.AlarmManager
|
||||
import android.app.PendingIntent
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.drawable.ColorDrawable
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.support.annotation.StringRes
|
||||
import android.support.design.widget.AppBarLayout
|
||||
@ -392,9 +392,10 @@ class MainActivity : BaseActivity(), SearchWebView.SearchContract,
|
||||
}
|
||||
|
||||
override fun openFileChooser(filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams) {
|
||||
openFileChooser(this, filePathCallback, fileChooserParams)
|
||||
openImagePicker(filePathCallback, fileChooserParams)
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (onActivityResultWeb(requestCode, resultCode, data)) return
|
||||
super.onActivityResult(requestCode, resultCode, data)
|
||||
@ -405,7 +406,7 @@ class MainActivity : BaseActivity(), SearchWebView.SearchContract,
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
val pending = PendingIntent.getActivity(this, 666, intent, PendingIntent.FLAG_CANCEL_CURRENT)
|
||||
val alarm = getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
|
||||
if (buildIsMarshmallowAndUp)
|
||||
alarm.setExactAndAllowWhileIdle(AlarmManager.RTC, System.currentTimeMillis() + 100, pending)
|
||||
else
|
||||
alarm.setExact(AlarmManager.RTC, System.currentTimeMillis() + 100, pending)
|
||||
|
@ -1,9 +1,11 @@
|
||||
package com.pitchedapps.frost.activities
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import ca.allanwang.kau.about.kauLaunchAbout
|
||||
import ca.allanwang.kau.changelog.showChangelog
|
||||
import ca.allanwang.kau.kpref.activity.CoreAttributeContract
|
||||
import ca.allanwang.kau.kpref.activity.KPrefActivity
|
||||
@ -27,11 +29,12 @@ import com.pitchedapps.frost.utils.iab.IS_FROST_PRO
|
||||
*/
|
||||
class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
|
||||
|
||||
var resultFlag = Activity.RESULT_CANCELED
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
if (!onActivityResultBilling(requestCode, resultCode, data)) {
|
||||
if (!onActivityResultBilling(requestCode, resultCode, data))
|
||||
super.onActivityResult(requestCode, resultCode, data)
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
override fun kPrefCoreAttributes(): CoreAttributeContract.() -> Unit = {
|
||||
@ -65,15 +68,15 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
|
||||
iicon = CommunityMaterial.Icon.cmd_flask_outline
|
||||
}
|
||||
|
||||
plainText(R.string.restore_purchases) {
|
||||
descRes = R.string.restore_purchases_desc
|
||||
iicon = GoogleMaterial.Icon.gmd_refresh
|
||||
onClick = { _, _, _ -> restorePurchases(false); true }
|
||||
plainText(R.string.get_pro) {
|
||||
descRes = R.string.get_pro_desc
|
||||
iicon = GoogleMaterial.Icon.gmd_star
|
||||
onClick = { _, _, _ -> restorePurchases(); true }
|
||||
}
|
||||
|
||||
plainText(R.string.about_frost) {
|
||||
iicon = GoogleMaterial.Icon.gmd_info
|
||||
onClick = { _, _, _ -> startActivity(AboutActivity::class.java, transition = true); true }
|
||||
onClick = { _, _, _ -> kauLaunchAbout(AboutActivity::class.java); true }
|
||||
}
|
||||
|
||||
if (BuildConfig.DEBUG) {
|
||||
@ -87,7 +90,7 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
|
||||
}
|
||||
|
||||
fun shouldRestartMain() {
|
||||
setResult(MainActivity.REQUEST_RESTART)
|
||||
setFrostResult(MainActivity.REQUEST_RESTART)
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
@ -107,10 +110,14 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (!super.backPress())
|
||||
if (!super.backPress()) {
|
||||
setResult(resultFlag)
|
||||
finishSlideOut()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.menu_settings, menu)
|
||||
toolbar.tint(Prefs.iconColor)
|
||||
@ -135,6 +142,10 @@ class SettingsActivity : KPrefActivity(), FrostBilling by IABSettings() {
|
||||
return true
|
||||
}
|
||||
|
||||
fun setFrostResult(flag: Int) {
|
||||
resultFlag = resultFlag and flag
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
onDestroyBilling()
|
||||
super.onDestroy()
|
||||
|
@ -126,7 +126,7 @@ open class WebOverlayActivity : AppCompatActivity(),
|
||||
}
|
||||
|
||||
override fun openFileChooser(filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams) {
|
||||
openFileChooser(this, filePathCallback, fileChooserParams)
|
||||
openImagePicker(filePathCallback, fileChooserParams)
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
@ -5,14 +5,16 @@ import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.webkit.ValueCallback
|
||||
import android.webkit.WebChromeClient
|
||||
import ca.allanwang.kau.permissions.PERMISSION_READ_EXTERNAL_STORAGE
|
||||
import ca.allanwang.kau.permissions.kauRequestPermissions
|
||||
import ca.allanwang.kau.imagepicker.kauLaunchImagePicker
|
||||
import ca.allanwang.kau.imagepicker.kauOnImagePickerResult
|
||||
import com.pitchedapps.frost.activities.ImagePickerActivity
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import java.io.File
|
||||
|
||||
/**
|
||||
* Created by Allan Wang on 2017-07-04.
|
||||
*/
|
||||
const val FILE_CHOOSER_REQUEST = 67
|
||||
const val IMAGE_CHOOSER_REQUEST = 67
|
||||
|
||||
interface FileChooserActivityContract {
|
||||
fun openFileChooser(filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams)
|
||||
@ -20,35 +22,27 @@ interface FileChooserActivityContract {
|
||||
|
||||
interface FileChooserContract {
|
||||
var filePathCallback: ValueCallback<Array<Uri>>?
|
||||
fun openFileChooser(activity: Activity, filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams)
|
||||
fun onActivityResultWeb(requestCode: Int, resultCode: Int, intent: Intent?): Boolean
|
||||
fun Activity.openImagePicker(filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams)
|
||||
fun Activity.onActivityResultWeb(requestCode: Int, resultCode: Int, intent: Intent?): Boolean
|
||||
}
|
||||
|
||||
class FileChooserDelegate : FileChooserContract {
|
||||
|
||||
override var filePathCallback: ValueCallback<Array<Uri>>? = null
|
||||
|
||||
override fun openFileChooser(activity: Activity, filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams) {
|
||||
activity.kauRequestPermissions(PERMISSION_READ_EXTERNAL_STORAGE) {
|
||||
granted, _ ->
|
||||
if (!granted) return@kauRequestPermissions
|
||||
val contentSelectionIntent = Intent(Intent.ACTION_GET_CONTENT)
|
||||
contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE)
|
||||
contentSelectionIntent.type = fileChooserParams.acceptTypes?.joinToString(separator = "|") ?: "*/*"
|
||||
activity.startActivityForResult(contentSelectionIntent, FILE_CHOOSER_REQUEST)
|
||||
this.filePathCallback?.onReceiveValue(null)
|
||||
this.filePathCallback = filePathCallback
|
||||
}
|
||||
override fun Activity.openImagePicker(filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams: WebChromeClient.FileChooserParams) {
|
||||
this@FileChooserDelegate.filePathCallback = filePathCallback
|
||||
kauLaunchImagePicker(ImagePickerActivity::class.java, IMAGE_CHOOSER_REQUEST)
|
||||
}
|
||||
|
||||
override fun onActivityResultWeb(requestCode: Int, resultCode: Int, intent: Intent?): Boolean {
|
||||
L.d("On activity results web $requestCode")
|
||||
if (requestCode != FILE_CHOOSER_REQUEST) return false
|
||||
var results: Uri? = null
|
||||
|
||||
if (resultCode == Activity.RESULT_OK && intent != null) results = Uri.parse(intent.dataString)
|
||||
L.d("Callback received; ${filePathCallback != null}")
|
||||
filePathCallback?.onReceiveValue(if (results == null) null else arrayOf(results))
|
||||
override fun Activity.onActivityResultWeb(requestCode: Int, resultCode: Int, intent: Intent?): Boolean {
|
||||
L.d("FileChooser On activity results web $requestCode")
|
||||
if (requestCode != IMAGE_CHOOSER_REQUEST) return false
|
||||
val results = kauOnImagePickerResult(resultCode, intent).map { it.uri }.toTypedArray()
|
||||
L.d("FileChooser result ${results.contentToString()}")
|
||||
//proper path content://com.android.providers.media.documents/document/image%3A36341
|
||||
L.d("FileChooser Callback received; ${filePathCallback != null}")
|
||||
filePathCallback?.onReceiveValue(results)
|
||||
filePathCallback = null
|
||||
return true
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import android.webkit.WebView
|
||||
* List of elements to hide
|
||||
*/
|
||||
enum class CssHider(vararg val items: String) : InjectorContract {
|
||||
CORE("[data-sigil=m_login_upsell]"),
|
||||
CORE("[data-sigil=m_login_upsell]", "role=progressbar"),
|
||||
HEADER("#header[data-sigil=MTopBlueBarHeader]", "#header-notices", "[data-sigil*=m-promo-jewel-header]"),
|
||||
ADS(
|
||||
"article[data-xt*=sponsor]",
|
||||
|
@ -108,7 +108,7 @@ fun SettingsActivity.getAppearancePrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
|
||||
checkbox(R.string.rounded_icons, { Prefs.showRoundedIcons }, {
|
||||
Prefs.showRoundedIcons = it
|
||||
setResult(MainActivity.REQUEST_REFRESH)
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
}) {
|
||||
descRes = R.string.rounded_icons_desc
|
||||
}
|
||||
@ -116,7 +116,7 @@ fun SettingsActivity.getAppearancePrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
checkbox(R.string.tint_nav, { Prefs.tintNavBar }, {
|
||||
Prefs.tintNavBar = it
|
||||
frostNavigationBar()
|
||||
setResult(MainActivity.REQUEST_NAV)
|
||||
setFrostResult(MainActivity.REQUEST_NAV)
|
||||
}) {
|
||||
descRes = R.string.tint_nav_desc
|
||||
}
|
||||
@ -124,5 +124,5 @@ fun SettingsActivity.getAppearancePrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
list.add(KPrefTextSeekbar(
|
||||
KPrefSeekbar.KPrefSeekbarBuilder(
|
||||
globalOptions,
|
||||
R.string.web_text_scaling, { Prefs.webTextScaling }, { Prefs.webTextScaling = it; setResult(MainActivity.REQUEST_WEB_ZOOM) })))
|
||||
R.string.web_text_scaling, { Prefs.webTextScaling }, { Prefs.webTextScaling = it; setFrostResult(MainActivity.REQUEST_WEB_ZOOM) })))
|
||||
}
|
@ -15,7 +15,7 @@ fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
descRes = R.string.fancy_animations_desc
|
||||
}
|
||||
|
||||
checkbox(R.string.overlay_swipe, { Prefs.overlayEnabled }, { Prefs.overlayEnabled = it; setResult(MainActivity.REQUEST_REFRESH) }) {
|
||||
checkbox(R.string.overlay_swipe, { Prefs.overlayEnabled }, { Prefs.overlayEnabled = it; setFrostResult(MainActivity.REQUEST_REFRESH) }) {
|
||||
descRes = R.string.overlay_swipe_desc
|
||||
}
|
||||
|
||||
@ -27,6 +27,10 @@ fun SettingsActivity.getBehaviourPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
descRes = R.string.viewpager_swipe_desc
|
||||
}
|
||||
|
||||
checkbox(R.string.search_bar, { Prefs.searchBar }, { Prefs.searchBar = it; setFrostResult(MainActivity.REQUEST_SEARCH) }) {
|
||||
descRes = R.string.search_bar_desc
|
||||
}
|
||||
|
||||
checkbox(R.string.exit_confirmation, { Prefs.exitConfirmation }, { Prefs.exitConfirmation = it }) {
|
||||
descRes = R.string.exit_confirmation_desc
|
||||
}
|
||||
|
@ -22,9 +22,7 @@ fun SettingsActivity.getExperimentalPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
|
||||
// Experimental content starts here ------------------
|
||||
|
||||
checkbox(R.string.search_bar, { Prefs.searchBar }, { Prefs.searchBar = it; setResult(MainActivity.REQUEST_SEARCH) }) {
|
||||
descRes = R.string.search_bar_desc
|
||||
}
|
||||
|
||||
|
||||
// Experimental content ends here --------------------
|
||||
|
||||
@ -36,7 +34,7 @@ fun SettingsActivity.getExperimentalPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
descRes = R.string.restart_frost_desc
|
||||
onClick = {
|
||||
_, _, _ ->
|
||||
setResult(MainActivity.REQUEST_RESTART_APPLICATION)
|
||||
setFrostResult(MainActivity.REQUEST_RESTART_APPLICATION)
|
||||
finish()
|
||||
true
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ fun SettingsActivity.getFeedPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
|
||||
checkbox(R.string.suggested_friends, { Prefs.showSuggestedFriends }, {
|
||||
Prefs.showSuggestedFriends = it
|
||||
setResult(MainActivity.REQUEST_REFRESH)
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
}) {
|
||||
descRes = R.string.suggested_friends_desc
|
||||
dependsOnPro()
|
||||
@ -47,7 +47,7 @@ fun SettingsActivity.getFeedPrefs(): KPrefAdapterBuilder.() -> Unit = {
|
||||
|
||||
checkbox(R.string.facebook_ads, { Prefs.showFacebookAds }, {
|
||||
Prefs.showFacebookAds = it
|
||||
setResult(MainActivity.REQUEST_REFRESH)
|
||||
setFrostResult(MainActivity.REQUEST_REFRESH)
|
||||
}) {
|
||||
descRes = R.string.facebook_ads_desc
|
||||
dependsOnPro()
|
||||
|
@ -119,7 +119,7 @@ object Prefs : KPref() {
|
||||
|
||||
var analytics: Boolean by kpref("analytics", true)
|
||||
|
||||
var searchBar: Boolean by kpref("search_bar", Showcase.experimentalDefault)
|
||||
var searchBar: Boolean by kpref("search_bar", true)
|
||||
|
||||
var overlayEnabled: Boolean by kpref("overlay_enabled", true)
|
||||
|
||||
|
@ -1,12 +1,14 @@
|
||||
package com.pitchedapps.frost.utils
|
||||
|
||||
import android.content.Context
|
||||
import ca.allanwang.kau.email.sendEmail
|
||||
import ca.allanwang.kau.utils.copyToClipboard
|
||||
import ca.allanwang.kau.utils.shareText
|
||||
import ca.allanwang.kau.utils.string
|
||||
import ca.allanwang.kau.utils.toast
|
||||
import com.pitchedapps.frost.R
|
||||
import com.pitchedapps.frost.activities.MainActivity
|
||||
import com.pitchedapps.frost.facebook.formattedFbUrl
|
||||
|
||||
/**
|
||||
* Created by Allan Wang on 2017-07-07.
|
||||
@ -34,12 +36,28 @@ fun Context.showWebContextMenu(wc: WebContext) {
|
||||
}
|
||||
}
|
||||
|
||||
class WebContext(val url: String, val text: String?)
|
||||
class WebContext(val unformattedUrl: String, val text: String?) {
|
||||
val url = unformattedUrl.formattedFbUrl
|
||||
}
|
||||
|
||||
enum class WebContextType(val textId: Int, val onClick: (c: Context, wc: WebContext) -> Unit) {
|
||||
COPY_LINK(R.string.copy_link, { c, wc -> c.copyToClipboard(wc.url) }),
|
||||
COPY_TEXT(R.string.copy_text, { c, wc -> if (wc.text != null) c.copyToClipboard(wc.text) else c.toast(R.string.no_text) }),
|
||||
SHARE_LINK(R.string.share_link, { c, wc -> c.shareText(wc.url) })
|
||||
SHARE_LINK(R.string.share_link, { c, wc -> c.shareText(wc.url) }),
|
||||
DEBUG_LINK(R.string.debug_link, { c, wc ->
|
||||
c.materialDialogThemed {
|
||||
title(R.string.debug_link)
|
||||
content(R.string.debug_link_desc)
|
||||
positiveText(R.string.kau_ok)
|
||||
onPositive { _, _ ->
|
||||
c.sendEmail(R.string.dev_email, R.string.debug_link_subject) {
|
||||
message = c.string(R.string.debug_link_content)
|
||||
addItem("Unformatted url", wc.unformattedUrl)
|
||||
addItem("Formatted url", wc.url)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
;
|
||||
|
||||
companion object {
|
||||
|
@ -9,8 +9,6 @@ import com.pitchedapps.frost.BuildConfig
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import com.pitchedapps.frost.utils.Prefs
|
||||
import com.pitchedapps.frost.utils.frostAnswers
|
||||
import org.jetbrains.anko.doAsync
|
||||
import org.jetbrains.anko.uiThread
|
||||
|
||||
/**
|
||||
* Created by Allan Wang on 2017-07-22.
|
||||
@ -24,18 +22,18 @@ interface FrostBilling : BillingProcessor.IBillingHandler {
|
||||
fun Activity.onCreateBilling()
|
||||
fun onDestroyBilling()
|
||||
fun purchasePro()
|
||||
fun restorePurchases(once: Boolean)
|
||||
fun restorePurchases()
|
||||
fun onActivityResultBilling(requestCode: Int, resultCode: Int, data: Intent?): Boolean
|
||||
}
|
||||
|
||||
open class IABBinder : FrostBilling {
|
||||
abstract class IABBinder : FrostBilling {
|
||||
|
||||
var bp: BillingProcessor? = null
|
||||
var activity: Activity? = null
|
||||
|
||||
override fun Activity.onCreateBilling() {
|
||||
bp = BillingProcessor.newBillingProcessor(this, PUBLIC_BILLING_KEY, this@IABBinder)
|
||||
activity = this
|
||||
bp = BillingProcessor.newBillingProcessor(this, PUBLIC_BILLING_KEY, this@IABBinder)
|
||||
bp!!.initialize()
|
||||
}
|
||||
|
||||
@ -45,15 +43,11 @@ open class IABBinder : FrostBilling {
|
||||
activity = null
|
||||
}
|
||||
|
||||
override fun onBillingInitialized() {
|
||||
L.d("IAB initialized")
|
||||
}
|
||||
override fun onBillingInitialized() = L.d("IAB initialized")
|
||||
|
||||
override fun onPurchaseHistoryRestored() {
|
||||
L.d("IAB restored")
|
||||
}
|
||||
override fun onPurchaseHistoryRestored() = L.d("IAB restored")
|
||||
|
||||
override fun onProductPurchased(productId: String, details: TransactionDetails) {
|
||||
override fun onProductPurchased(productId: String, details: TransactionDetails?) {
|
||||
L.d("IAB $productId purchased")
|
||||
frostAnswers {
|
||||
logPurchase(PurchaseEvent()
|
||||
@ -63,7 +57,7 @@ open class IABBinder : FrostBilling {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onBillingError(errorCode: Int, error: Throwable) {
|
||||
override fun onBillingError(errorCode: Int, error: Throwable?) {
|
||||
frostAnswers {
|
||||
logPurchase(PurchaseEvent()
|
||||
.putCustomAttribute("result", errorCode.toString())
|
||||
@ -76,64 +70,81 @@ open class IABBinder : FrostBilling {
|
||||
= bp?.handleActivityResult(requestCode, resultCode, data) ?: false
|
||||
|
||||
override fun purchasePro() {
|
||||
if (bp == null) return
|
||||
if (bp == null) {
|
||||
frostAnswers {
|
||||
logPurchase(PurchaseEvent()
|
||||
.putCustomAttribute("result", "null bp")
|
||||
.putSuccess(false))
|
||||
}
|
||||
L.eThrow("IAB null bp on purchase attempt")
|
||||
return
|
||||
}
|
||||
if (!bp!!.isOneTimePurchaseSupported)
|
||||
activity!!.playStorePurchaseUnsupported()
|
||||
else
|
||||
bp!!.purchase(activity, FROST_PRO)
|
||||
}
|
||||
|
||||
override fun restorePurchases(once: Boolean) {
|
||||
if (bp == null) return
|
||||
doAsync {
|
||||
bp?.loadOwnedPurchasesFromGoogle()
|
||||
if (bp?.isPurchased(FROST_PRO) ?: false) {
|
||||
uiThread {
|
||||
if (Prefs.pro) activity!!.playStoreNoLongerPro()
|
||||
else if (!once) purchasePro()
|
||||
if (once) onDestroyBilling()
|
||||
}
|
||||
} else {
|
||||
uiThread {
|
||||
if (!Prefs.pro) activity!!.playStoreFoundPro()
|
||||
else if (!once) activity!!.purchaseRestored()
|
||||
if (once) onDestroyBilling()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class IABSettings : IABBinder() {
|
||||
|
||||
override fun onBillingInitialized() {
|
||||
super.onBillingInitialized()
|
||||
|
||||
}
|
||||
|
||||
override fun onPurchaseHistoryRestored() {
|
||||
super.onPurchaseHistoryRestored()
|
||||
}
|
||||
|
||||
override fun onProductPurchased(productId: String, details: TransactionDetails) {
|
||||
override fun onProductPurchased(productId: String, details: TransactionDetails?) {
|
||||
super.onProductPurchased(productId, details)
|
||||
activity?.playStorePurchasedSuccessfully(productId)
|
||||
}
|
||||
|
||||
override fun onBillingError(errorCode: Int, error: Throwable) {
|
||||
override fun onBillingError(errorCode: Int, error: Throwable?) {
|
||||
super.onBillingError(errorCode, error)
|
||||
activity?.playStoreGenericError(null)
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to get pro, or launch purchase flow if user doesn't have it
|
||||
*/
|
||||
override fun restorePurchases() {
|
||||
if (bp == null) return
|
||||
val load = bp!!.loadOwnedPurchasesFromGoogle()
|
||||
L.d("IAB settings load from google $load")
|
||||
if (!bp!!.isPurchased(FROST_PRO)) {
|
||||
if (Prefs.pro) activity!!.playStoreNoLongerPro()
|
||||
else purchasePro()
|
||||
} else {
|
||||
if (!Prefs.pro) activity!!.playStoreFoundPro()
|
||||
else activity!!.purchaseRestored()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class IABMain : IABBinder() {
|
||||
|
||||
override fun onBillingInitialized() {
|
||||
super.onBillingInitialized()
|
||||
restorePurchases(true)
|
||||
restorePurchases()
|
||||
}
|
||||
|
||||
override fun onPurchaseHistoryRestored() {
|
||||
super.onPurchaseHistoryRestored()
|
||||
restorePurchases(true)
|
||||
restorePurchases()
|
||||
}
|
||||
|
||||
private var restored = false
|
||||
|
||||
/**
|
||||
* Checks for pro and only does so once
|
||||
* A null check is added but it should never happen
|
||||
* given that this is only called with bp is ready
|
||||
*/
|
||||
override fun restorePurchases() {
|
||||
if (restored || bp == null) return
|
||||
restored = true
|
||||
val load = bp!!.loadOwnedPurchasesFromGoogle()
|
||||
L.d("IAB main load from google $load")
|
||||
if (!bp!!.isPurchased(FROST_PRO)) {
|
||||
if (Prefs.pro) activity!!.playStoreNoLongerPro()
|
||||
} else {
|
||||
if (!Prefs.pro) activity!!.playStoreFoundPro()
|
||||
}
|
||||
onDestroyBilling()
|
||||
}
|
||||
}
|
@ -4,11 +4,13 @@ import android.app.Activity
|
||||
import ca.allanwang.kau.utils.restart
|
||||
import ca.allanwang.kau.utils.startPlayStoreLink
|
||||
import ca.allanwang.kau.utils.string
|
||||
import com.crashlytics.android.answers.PurchaseEvent
|
||||
import com.pitchedapps.frost.R
|
||||
import com.pitchedapps.frost.activities.MainActivity
|
||||
import com.pitchedapps.frost.activities.SettingsActivity
|
||||
import com.pitchedapps.frost.utils.L
|
||||
import com.pitchedapps.frost.utils.Prefs
|
||||
import com.pitchedapps.frost.utils.frostAnswers
|
||||
import com.pitchedapps.frost.utils.materialDialogThemed
|
||||
|
||||
/**
|
||||
@ -16,7 +18,7 @@ import com.pitchedapps.frost.utils.materialDialogThemed
|
||||
*/
|
||||
|
||||
private fun playStoreLog(text: String) {
|
||||
L.e(Throwable(text), "Play Store Exception")
|
||||
L.e(Throwable(text), "IAB Play Store Exception")
|
||||
}
|
||||
|
||||
/**
|
||||
@ -31,7 +33,12 @@ private fun Activity.playRestart() {
|
||||
|
||||
fun Activity.playStoreNoLongerPro() {
|
||||
Prefs.pro = false
|
||||
playStoreLog("No Longer Pro")
|
||||
L.d("IAB No longer pro")
|
||||
frostAnswers {
|
||||
logPurchase(PurchaseEvent()
|
||||
.putCustomAttribute("result", "no longer pro")
|
||||
.putSuccess(false))
|
||||
}
|
||||
materialDialogThemed {
|
||||
title(R.string.uh_oh)
|
||||
content(R.string.play_store_not_pro)
|
||||
|
@ -41,7 +41,8 @@ class FrostJSI(val webView: FrostWebViewCore) {
|
||||
|
||||
@JavascriptInterface
|
||||
fun contextMenu(url: String, text: String?) {
|
||||
webView.post { context.showWebContextMenu(WebContext(url.formattedFbUrl, text)) }
|
||||
//url will be formatted through webcontext
|
||||
webView.post { context.showWebContextMenu(WebContext(url, text)) }
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.pitchedapps.frost.web
|
||||
|
||||
import android.content.ActivityNotFoundException
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.graphics.Bitmap
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebResourceResponse
|
||||
@ -9,6 +11,7 @@ import android.webkit.WebViewClient
|
||||
import com.pitchedapps.frost.activities.LoginActivity
|
||||
import com.pitchedapps.frost.activities.MainActivity
|
||||
import com.pitchedapps.frost.activities.SelectorActivity
|
||||
import com.pitchedapps.frost.activities.WebOverlayActivity
|
||||
import com.pitchedapps.frost.facebook.FACEBOOK_COM
|
||||
import com.pitchedapps.frost.facebook.FB_URL_BASE
|
||||
import com.pitchedapps.frost.facebook.FbCookie
|
||||
@ -40,8 +43,9 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
|
||||
|
||||
val refreshObservable: Subject<Boolean> = webCore.refreshObservable
|
||||
|
||||
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
|
||||
override fun onPageStarted(view: WebView, url: String?, favicon: Bitmap?) {
|
||||
super.onPageStarted(view, url, favicon)
|
||||
if (url == null) return
|
||||
L.i("FWV Loading $url")
|
||||
// L.v("Cookies ${CookieManager.getInstance().getCookie(url)}")
|
||||
refreshObservable.onNext(true)
|
||||
@ -57,8 +61,9 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
|
||||
c.launchNewTask(LoginActivity::class.java)
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView, url: String) {
|
||||
override fun onPageFinished(view: WebView, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
if (url == null) return
|
||||
L.i("Page finished $url")
|
||||
if (!url.contains(FACEBOOK_COM)) {
|
||||
refreshObservable.onNext(false)
|
||||
@ -103,9 +108,11 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
|
||||
/**
|
||||
* Helper to format the request and launch it
|
||||
* returns true to override the url
|
||||
* returns false if we are already in an overlaying activity
|
||||
*/
|
||||
private fun launchRequest(request: WebResourceRequest): Boolean {
|
||||
L.d("Launching Url", request.url.toString())
|
||||
if (webCore.context is WebOverlayActivity) return false
|
||||
webCore.context.launchWebOverlay(request.url.toString())
|
||||
return true
|
||||
}
|
||||
@ -124,6 +131,13 @@ open class FrostWebViewClient(val webCore: FrostWebViewCore) : BaseWebViewClient
|
||||
if (path.startsWith("/composer/")) return launchRequest(request)
|
||||
if (request.url.toString().contains("scontent-sea1-1.xx.fbcdn.net") && (path.endsWith(".jpg") || path.endsWith(".png")))
|
||||
return launchImage(request)
|
||||
if (!request.url.toString().contains(FACEBOOK_COM)) {
|
||||
val intent = Intent(Intent.ACTION_VIEW, request.url)
|
||||
if (intent.resolveActivity(view.context.packageManager) != null) {
|
||||
view.context.startActivity(Intent(Intent.ACTION_VIEW, request.url))
|
||||
return true
|
||||
}
|
||||
}
|
||||
return super.shouldOverrideUrlLoading(view, request)
|
||||
}
|
||||
|
||||
@ -142,8 +156,9 @@ class FrostWebViewClientMenu(webCore: FrostWebViewCore) : FrostWebViewClient(web
|
||||
else -> false
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView, url: String) {
|
||||
override fun onPageFinished(view: WebView, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
if (url == null) return
|
||||
if (url.shouldInjectMenu) jsInject(JsAssets.MENU)
|
||||
}
|
||||
|
||||
@ -163,13 +178,15 @@ class FrostWebViewClientMenu(webCore: FrostWebViewCore) : FrostWebViewClient(web
|
||||
*/
|
||||
class HeadlessWebViewClient(val tag: String, val postInjection: InjectorContract) : BaseWebViewClient() {
|
||||
|
||||
override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) {
|
||||
override fun onPageStarted(view: WebView, url: String?, favicon: Bitmap?) {
|
||||
super.onPageStarted(view, url, favicon)
|
||||
if (url == null) return
|
||||
L.d("Headless Page $tag Started", url)
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView, url: String) {
|
||||
override fun onPageFinished(view: WebView, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
if (url == null) return
|
||||
L.d("Headless Page $tag Finished", url)
|
||||
postInjection.inject(view)
|
||||
}
|
||||
|
@ -24,10 +24,7 @@ import io.reactivex.subjects.Subject
|
||||
|
||||
/**
|
||||
* Created by Allan Wang on 2017-05-29.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class LoginWebView @JvmOverloads constructor(
|
||||
context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
|
||||
) : WebView(context, attrs, defStyleAttr) {
|
||||
@ -71,9 +68,9 @@ class LoginWebView @JvmOverloads constructor(
|
||||
|
||||
inner class LoginClient : BaseWebViewClient() {
|
||||
|
||||
override fun onPageFinished(view: WebView, url: String) {
|
||||
override fun onPageFinished(view: WebView, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
if (!url.contains(FACEBOOK_COM)) {
|
||||
if (url == null || !url.contains(FACEBOOK_COM)) {
|
||||
view.frostSnackbar(R.string.no_longer_facebook)
|
||||
loadLogin()
|
||||
return
|
||||
|
@ -44,7 +44,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
android:visibility="gone"
|
||||
app:srcCompat="@android:drawable/ic_dialog_email" />
|
||||
android:visibility="gone" />
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
@ -42,8 +42,14 @@
|
||||
<string name="subject">Subject</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="share_link">Share Link</string>
|
||||
<string name="debug_link">Debug Link</string>
|
||||
<string name="debug_link_subject">Frost for Facebook: Link Debug</string>
|
||||
<string name="debug_link_content">Write here. Note that your link may contain private information, but I won\'t be able to see it as the post isn\'t public. The url will still help with debugging though.</string>
|
||||
<string name="debug_link_desc">If a link isn\'t loading properly, you can email me so I can help debug it. Clicking okay will open an email request</string>
|
||||
<string name="copy_link">Copy Link</string>
|
||||
<string name="copy_text">Copy Text</string>
|
||||
<string name="debug_image_link_subject">Frost for Facebook: Image Link Debug</string>
|
||||
|
||||
|
||||
<string name="no_longer_facebook">No longer under facebook; refreshing…</string>
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="null_url_overlay">Empty url given to overlay; exiting</string>
|
||||
<string name="bad_image_overlay">The url could not be loaded properly. Would you like to send it for debugging?</string>
|
||||
</resources>
|
@ -13,7 +13,7 @@
|
||||
<string name="experimental">Experimental</string>
|
||||
<string name="experimental_desc">Enable early access to potentially unstable features</string>
|
||||
|
||||
<string name="restore_purchases">Restore Purchases</string>
|
||||
<string name="restore_purchases_desc">Restore any previous purchases from the Play Store</string>
|
||||
<string name="get_pro">Get Frost Pro</string>
|
||||
<string name="get_pro_desc">Purchase or restore pro and unlock the full potential of Frost! Includes ad blockers, custom themes, full configurations, and much more to come!</string>
|
||||
|
||||
</resources>
|
@ -8,16 +8,8 @@
|
||||
<item text="" />
|
||||
-->
|
||||
|
||||
<version title="Beta Updates" />
|
||||
|
||||
<item text="Fix regex bug for some devices" />
|
||||
<item text="Fix notification text" />
|
||||
<item text="Update round icons" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<item text="" />
|
||||
<!--<version title="Beta Updates" />-->
|
||||
|
||||
|
||||
<version title="v1.4" />
|
||||
<item text="Update IAB helper" />
|
||||
@ -29,6 +21,16 @@
|
||||
<item text="Aggressively filter nonrecent posts in recents mode" />
|
||||
<item text="Add download option for full sized images" />
|
||||
<item text="Fix rounded icons" />
|
||||
<item text="Fix regex bug for some devices" />
|
||||
<item text="Fix notification text" />
|
||||
<item text="Update round icons" />
|
||||
<item text="Allow for multiple result flags in settings to better reload the main view" />
|
||||
<item text="Add custom image picker" />
|
||||
<item text="Check if activities can open intent before loading in browser" />
|
||||
<item text="Add url debugging. Long press a button and press debug link to send me an email" />
|
||||
<item text="Update theme" />
|
||||
<item text="Move search bar style to default" />
|
||||
<item text="Allow for image downloads in messages" />
|
||||
|
||||
<version title="v1.3" />
|
||||
<item text="Create toggle for notifications only from primary account" />
|
||||
|
@ -1,10 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## Beta Updates
|
||||
* Fix regex bug for some devices
|
||||
* Fix notification text
|
||||
* Update round icons
|
||||
|
||||
## v1.4
|
||||
* Update IAB helper
|
||||
* Create image viewing and downloading; long press any image!
|
||||
@ -15,6 +10,16 @@
|
||||
* Aggressively filter nonrecent posts in recents mode
|
||||
* Add download option for full sized images
|
||||
* Fix rounded icons
|
||||
* Fix regex bug for some devices
|
||||
* Fix notification text
|
||||
* Update round icons
|
||||
* Allow for multiple result flags in settings to better reload the main view
|
||||
* Add custom image picker
|
||||
* Check if activities can open intent before loading in browser
|
||||
* Add url debugging. Long press a button and press debug link to send me an email
|
||||
* Update theme
|
||||
* Move search bar style to default
|
||||
* Allow for image downloads in messages
|
||||
|
||||
## v1.3
|
||||
* Create toggle for notifications only from primary account
|
||||
|
@ -15,9 +15,9 @@ APP_ID=Frost
|
||||
APP_GROUP=com.pitchedapps
|
||||
MIN_SDK=21
|
||||
TARGET_SDK=26
|
||||
BUILD_TOOLS=26.0.0
|
||||
BUILD_TOOLS=26.0.1
|
||||
|
||||
KAU=3.0
|
||||
KAU=ab2036f
|
||||
KOTLIN=1.1.3-2
|
||||
CRASHLYTICS=2.6.8
|
||||
DBFLOW=4.0.5
|
||||
|
Loading…
Reference in New Issue
Block a user