Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
connyduck committed Dec 4, 2020
2 parents d75e4a4 + dd7804f commit 9232878
Show file tree
Hide file tree
Showing 26 changed files with 244 additions and 93 deletions.
5 changes: 3 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ android {
applicationId APP_ID
minSdkVersion 21
targetSdkVersion 29
versionCode 76
versionName "13.0 beta 1"
versionCode 77
versionName "13.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true

Expand Down Expand Up @@ -51,6 +51,7 @@ android {
productFlavors {
blue {}
green {
resValue "string", "app_name", APP_NAME + " Test"
applicationIdSuffix ".test"
versionNameSuffix "-" + getGitSha()
}
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/com/keylesspalace/tusky/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -713,7 +713,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
}

private fun updateAnnouncementsBadge() {
mainDrawer.updateBadge(DRAWER_ITEM_ANNOUNCEMENTS, StringHolder(if (unreadAnnouncementsCount == 0) null else unreadAnnouncementsCount.toString()))
mainDrawer.updateBadge(DRAWER_ITEM_ANNOUNCEMENTS, StringHolder(if (unreadAnnouncementsCount <= 0) null else unreadAnnouncementsCount.toString()))
}

private fun updateProfiles() {
Expand Down
19 changes: 7 additions & 12 deletions app/src/main/java/com/keylesspalace/tusky/TuskyApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,9 @@ import com.keylesspalace.tusky.util.EmojiCompatFont
import com.keylesspalace.tusky.util.LocaleManager
import com.keylesspalace.tusky.util.ThemeUtils
import com.uber.autodispose.AutoDisposePlugins
import dagger.Lazy
import dagger.android.DispatchingAndroidInjector
import dagger.android.HasAndroidInjector
import io.reactivex.plugins.RxJavaPlugins
import io.reactivex.schedulers.Schedulers
import org.conscrypt.Conscrypt
import java.security.Security
import javax.inject.Inject
Expand All @@ -44,7 +42,7 @@ class TuskyApplication : Application(), HasAndroidInjector {
lateinit var androidInjector: DispatchingAndroidInjector<Any>

@Inject
lateinit var notificationWorkerFactory: Lazy<NotificationWorkerFactory>
lateinit var notificationWorkerFactory: NotificationWorkerFactory

override fun onCreate() {
// Uncomment me to get StrictMode violation logs
Expand Down Expand Up @@ -82,15 +80,12 @@ class TuskyApplication : Application(), HasAndroidInjector {
Log.w("RxJava", "undeliverable exception", it)
}

// This will initialize the whole network stack and cache so we don't wan to wait for it
Schedulers.computation().scheduleDirect {
WorkManager.initialize(
this,
androidx.work.Configuration.Builder()
.setWorkerFactory(notificationWorkerFactory.get())
.build()
)
}
WorkManager.initialize(
this,
androidx.work.Configuration.Builder()
.setWorkerFactory(notificationWorkerFactory)
.build()
)
}

override fun attachBaseContext(base: Context) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@ import com.google.android.material.chip.ChipGroup
import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.entity.Announcement
import com.keylesspalace.tusky.entity.Emoji
import com.keylesspalace.tusky.interfaces.LinkListener
import com.keylesspalace.tusky.util.LinkHelper
import com.keylesspalace.tusky.util.emojify
import kotlinx.android.synthetic.main.item_announcement.view.*

interface AnnouncementActionListener {
interface AnnouncementActionListener: LinkListener {
fun openReactionPicker(announcementId: String, target: View)
fun addReaction(announcementId: String, name: String)
fun removeReaction(announcementId: String, name: String)
Expand Down Expand Up @@ -59,13 +61,12 @@ class AnnouncementAdapter(
}

inner class AnnouncementViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {

private val text: TextView = view.text
private val chips: ChipGroup = view.chipGroup
private val addReactionChip: Chip = view.addReactionChip

fun bind(item: Announcement) {
text.text = item.content
LinkHelper.setClickableText(text, item.content, null, listener)

item.reactions.forEachIndexed { i, reaction ->
(chips.getChildAt(i)?.takeUnless { it.id == R.id.addReactionChip } as Chip?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,9 @@ import android.view.MenuItem
import android.view.View
import android.widget.PopupWindow
import androidx.activity.viewModels
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import com.keylesspalace.tusky.BaseActivity
import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.*
import com.keylesspalace.tusky.adapter.EmojiAdapter
import com.keylesspalace.tusky.adapter.OnEmojiSelectedListener
import com.keylesspalace.tusky.di.Injectable
Expand All @@ -37,7 +35,7 @@ import kotlinx.android.synthetic.main.activity_announcements.*
import kotlinx.android.synthetic.main.toolbar_basic.*
import javax.inject.Inject

class AnnouncementsActivity : BaseActivity(), AnnouncementActionListener, OnEmojiSelectedListener, Injectable {
class AnnouncementsActivity : BottomSheetActivity(), AnnouncementActionListener, OnEmojiSelectedListener, Injectable {

@Inject
lateinit var viewModelFactory: ViewModelFactory
Expand Down Expand Up @@ -147,6 +145,24 @@ class AnnouncementsActivity : BaseActivity(), AnnouncementActionListener, OnEmoj
viewModel.removeReaction(announcementId, name)
}

override fun onViewTag(tag: String?) {
val intent = Intent(this, ViewTagActivity::class.java)
intent.putExtra("hashtag", tag)
startActivityWithSlideInAnimation(intent)
}

override fun onViewAccount(id: String?) {
if (id != null) {
viewAccount(id)
}
}

override fun onViewUrl(url: String?) {
if (url != null) {
viewUrl(url)
}
}

companion object {
fun newIntent(context: Context) = Intent(context, AnnouncementsActivity::class.java)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ private static NotificationCompat.Builder newNotification(Context context, Notif
.setSmallIcon(R.drawable.ic_notify)
.setContentIntent(summary ? summaryResultPendingIntent : eventResultPendingIntent)
.setDeleteIntent(deletePendingIntent)
.setColor(BuildConfig.DEBUG ? Color.parseColor("#19A341") : ContextCompat.getColor(context, R.color.tusky_blue))
.setColor(BuildConfig.FLAVOR == "green" ? Color.parseColor("#19A341") : ContextCompat.getColor(context, R.color.tusky_blue))
.setGroup(account.getAccountId())
.setAutoCancel(true)
.setShortcutId(Long.toString(account.getId()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import kotlinx.android.parcel.Parcelize
data class Attachment(
val id: String,
val url: String,
@SerializedName("preview_url") val previewUrl: String,
@SerializedName("preview_url") val previewUrl: String?, // can be null for e.g. audio attachments
val meta: MetaData?,
val type: Type,
val description: String?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {

private fun fetchRelationships(ids: List<String>) {
api.relationships(ids)
.observeOn(AndroidSchedulers.mainThread())
.autoDispose(from(this))
.subscribe(::onFetchRelationshipsSuccess) {
onFetchRelationshipsFailure(ids)
Expand Down
2 changes: 2 additions & 0 deletions app/src/main/res/layout/activity_announcements.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,6 @@
tools:src="@drawable/elephant_error"
tools:visibility="visible" />

<include layout="@layout/item_status_bottom_sheet" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>
51 changes: 44 additions & 7 deletions app/src/main/res/values-eo/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -164,9 +164,9 @@
<string name="pref_title_notification_alert_vibrate">Sciigi per vibro</string>
<string name="pref_title_notification_alert_light">Sciigi per lumo</string>
<string name="pref_title_notification_filters">Sciigi al mi kiam</string>
<string name="pref_title_notification_filter_mentions">menciita</string>
<string name="pref_title_notification_filter_follows">sekvita</string>
<string name="pref_title_notification_filter_reblogs">viaj mesaĝoj estas diskonigitaj</string>
<string name="pref_title_notification_filter_mentions">iu mencias min</string>
<string name="pref_title_notification_filter_follows">iu sekvas min</string>
<string name="pref_title_notification_filter_reblogs">miaj mesaĝoj estas diskonigitaj</string>
<string name="pref_title_notification_filter_favourites">miaj mesaĝoj estas stelumitaj</string>
<string name="pref_title_appearance_settings">Aspekto</string>
<string name="pref_title_app_theme">Temo de la apo</string>
Expand Down Expand Up @@ -363,7 +363,7 @@
<string name="pref_title_animate_gif_avatars">Moviĝi GIF profilbildojn</string>
<string name="notification_poll_name">Enketoj</string>
<string name="notification_poll_description">Sciigoj pri enketoj kiuj finiĝis</string>
<string name="edit_hashtag_hint">Kradvortoj sen #</string>
<string name="edit_hashtag_hint">Kradvorto sen #</string>
<string name="notifications_clear">Viŝi</string>
<string name="notifications_apply_filter">Filtri</string>
<string name="filter_apply">Apliki</string>
Expand All @@ -373,15 +373,14 @@
<string name="compose_preview_image_description">Agoj por bildo %s</string>
<string name="poll_info_format"> <!-- 15 votes • 1 hour left --> %1$s • %2$s</string>
<plurals name="poll_info_votes">
<item quantity="one"/>
<item quantity="other"/>
<item quantity="one">%s voĉdono</item>
<item quantity="other">%s voĉdonoj</item>
</plurals>
<string name="poll_info_time_absolute">finiĝos je %s</string>
<string name="poll_info_closed">finiĝita</string>
<string name="poll_vote">Voĉdoni</string>
<string name="poll_ended_voted">Enketo al kiu vi voĉdonis finiĝis</string>
<string name="poll_ended_created">Enketo kiu vi kreis finiĝis</string>

<string name="title_domain_mutes">Kaŝitaj domajnoj</string>
<string name="action_view_domain_mutes">Kaŝitaj domajnoj</string>
<string name="action_mute_domain">Silentigi %s</string>
Expand Down Expand Up @@ -437,4 +436,42 @@
<string name="no_scheduled_status">Vi ne havas iun ajn planitan mesaĝon.</string>
<string name="notification_follow_request_name">Petoj de sekvado</string>
<string name="hashtags">Kradvortoj</string>
<plurals name="poll_info_people">
<item quantity="one">%s homo</item>
<item quantity="other">%s homoj</item>
</plurals>
<string name="add_hashtag_title">Aldoni kradvorton</string>
<string name="notification_follow_request_description">Sciigoj pri petoj de sekvado</string>
<string name="pref_title_gradient_for_media">Montri buntajn transirojn por kaŝitaj aŭdovidaĵoj</string>
<string name="dialog_mute_hide_notifications">Kaŝi la sciigojn</string>
<string name="dialog_mute_warning">Silentigi @%s\?</string>
<string name="dialog_block_warning">Bloki @%s\?</string>
<string name="action_unmute_conversation">Malsilentigi la konversacion</string>
<string name="action_mute_conversation">Silentigi la konversacion</string>
<string name="action_unmute_domain">Malsilentigi %s</string>
<string name="action_mute_notifications_desc">Silentigi sciigojn de %s</string>
<string name="action_unmute_notifications_desc">Malsilentigi sciigojn de %s</string>
<string name="action_unmute_desc">Malsilentigi %s</string>
<string name="notification_follow_request_format">%s petis sekvi vin</string>
<string name="title_announcements">Anoncoj</string>
<plurals name="poll_timespan_minutes">
<item quantity="one">%d minuto restas</item>
<item quantity="other">%d minutoj restas</item>
</plurals>
<plurals name="poll_timespan_seconds">
<item quantity="one">%d sekundo restas</item>
<item quantity="other">%d sekundoj restas</item>
</plurals>
<plurals name="poll_timespan_hours">
<item quantity="one">%d horo restas</item>
<item quantity="other">%d horoj restas</item>
</plurals>
<plurals name="poll_timespan_days">
<item quantity="one">%d tago restas</item>
<item quantity="other">%d tagoj restas</item>
</plurals>
<string name="pref_main_nav_position">Pozicio de la ĉefa naviga breto</string>
<string name="pref_title_notification_filter_follow_requests">iu petas sekvi min</string>
<string name="pref_main_nav_position_option_bottom">Malsupro</string>
<string name="pref_main_nav_position_option_top">Supro</string>
</resources>
4 changes: 4 additions & 0 deletions app/src/main/res/values-es/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -475,4 +475,8 @@
<string name="action_mute_notifications_desc">Silenciar notificaciones desde %s</string>
<string name="action_unmute_notifications_desc">Dejar de silenciar notificaciones desde %s</string>
<string name="pref_title_hide_top_toolbar">Ocultar el título de la barra de herramientas superior</string>
<string name="account_note_saved">¡Guardado!</string>
<string name="account_note_hint">Tu nota privada acerca de esta cuenta</string>
<string name="no_announcements">No hay anuncios.</string>
<string name="title_announcements">Anuncios</string>
</resources>
Loading

0 comments on commit 9232878

Please sign in to comment.