Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c60c8a7937 | |||
| 07d6d8e81d | |||
| 9bcc241445 | |||
| 6b42987c9a | |||
| 6d4f5bc2ca | |||
| 9c678db7cb | |||
| 84bea44f2c | |||
| d5e994d8d3 | |||
| 8d6147761b | |||
| 9d6abfd979 | |||
| 46f4324478 | |||
| bfeab57744 | |||
| 2e99926e82 |
@@ -59,6 +59,8 @@ jobs:
|
||||
rm build/outputs/apk/foss/release/*universal*
|
||||
./gradlew assembleGplayRelease
|
||||
mv build/outputs/apk/gplay/release/*universal* build/outputs/apk/foss/release/ArcaneChat-gplay.apk
|
||||
mv build/outputs/mapping/fossRelease/mapping.txt build/outputs/mapping/fossRelease/mapping-foss.txt
|
||||
mv build/outputs/mapping/gplayRelease/mapping.txt build/outputs/mapping/fossRelease/mapping-gplay.txt
|
||||
|
||||
- name: Release on GitHub
|
||||
uses: softprops/action-gh-release@v1
|
||||
@@ -67,7 +69,9 @@ jobs:
|
||||
body: '[<img src="store/get-it-on-gplay.png" alt="Get it on Google Play" height="48">](https://play.google.com/store/apps/details?id=com.github.arcanechat) [<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite) [<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)'
|
||||
prerelease: ${{ contains(github.event.ref, '-beta') }}
|
||||
fail_on_unmatched_files: true
|
||||
files: build/outputs/apk/foss/release/*.apk
|
||||
files: |
|
||||
build/outputs/apk/foss/release/*.apk
|
||||
build/outputs/mapping/fossRelease/mapping-*.txt
|
||||
|
||||
- name: Release on ZapStore
|
||||
run: |
|
||||
|
||||
|
Before Width: | Height: | Size: 137 KiB After Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 287 KiB After Width: | Height: | Size: 283 KiB |
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 447 KiB After Width: | Height: | Size: 446 KiB |
@@ -152,6 +152,8 @@ public class ConversationFragment extends MessageSelectorFragment
|
||||
|
||||
// setLayerType() is needed to allow larger items (long texts in our case)
|
||||
// with hardware layers, drawing may result in errors as "OpenGLRenderer: Path too large to be rendered into a texture"
|
||||
// On foldable devices with large screens, software layer can exceed memory limits (~11MB).
|
||||
// To prevent this, message bubble width is constrained via maxWidth in layout files.
|
||||
list.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
||||
|
||||
return view;
|
||||
|
||||
@@ -202,7 +202,8 @@ public class InputPanel extends ConstraintLayout
|
||||
|
||||
public void setSubjectVisible(boolean visible) {
|
||||
subjectText.setVisibility(visible ? View.VISIBLE : View.GONE);
|
||||
emojiToggle.setVisibility(!visible ? View.VISIBLE : View.GONE);
|
||||
// don't make it visible if visible is false to avoid showing it while recording audio and an event triggers setSubjectVisible(false)
|
||||
if (visible) emojiToggle.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
public String getSubject() {
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
android:id="@+id/reply_icon"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_alignStart="@id/body_bubble"
|
||||
android:layout_alignTop="@id/body_bubble"
|
||||
android:layout_alignBottom="@id/body_bubble"
|
||||
android:layout_alignStart="@id/body_bubble_wrapper"
|
||||
android:layout_alignTop="@id/body_bubble_wrapper"
|
||||
android:layout_alignBottom="@id/body_bubble_wrapper"
|
||||
android:alpha="0"
|
||||
app:srcCompat="?menu_reply_icon"
|
||||
android:tint="?icon_tint"
|
||||
android:layout_alignLeft="@id/body_bubble" />
|
||||
android:layout_alignLeft="@id/body_bubble_wrapper" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/contact_photo_container"
|
||||
@@ -52,7 +52,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignBottom="@id/body_bubble">
|
||||
android:layout_alignBottom="@id/body_bubble_wrapper">
|
||||
|
||||
<org.thoughtcrime.securesms.components.AvatarImageView
|
||||
android:id="@+id/contact_photo"
|
||||
@@ -65,8 +65,8 @@
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/body_bubble"
|
||||
<FrameLayout
|
||||
android:id="@+id/body_bubble_wrapper"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="@dimen/message_bubble_edge_margin"
|
||||
@@ -74,7 +74,12 @@
|
||||
android:layout_marginLeft="6dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_toRightOf="@id/contact_photo_container"
|
||||
android:layout_toEndOf="@id/contact_photo_container"
|
||||
android:layout_toEndOf="@id/contact_photo_container">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/body_bubble"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:clipToPadding="false"
|
||||
android:clipChildren="false"
|
||||
@@ -112,6 +117,7 @@
|
||||
android:id="@+id/quote_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="@dimen/message_bubble_max_width"
|
||||
android:layout_marginTop="@dimen/message_bubble_top_padding"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
@@ -186,6 +192,7 @@
|
||||
android:id="@+id/conversation_item_body"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="@dimen/message_bubble_max_width"
|
||||
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
|
||||
android:layout_marginLeft="@dimen/message_bubble_horizontal_padding"
|
||||
android:layout_marginRight="@dimen/message_bubble_horizontal_padding"
|
||||
@@ -247,12 +254,14 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
||||
android:id="@+id/reactions_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/body_bubble"
|
||||
android:layout_alignStart="@id/body_bubble"
|
||||
android:layout_below="@id/body_bubble_wrapper"
|
||||
android:layout_alignStart="@id/body_bubble_wrapper"
|
||||
android:layout_marginTop="-4dp"
|
||||
android:orientation="horizontal"
|
||||
app:message_type="incoming" />
|
||||
|
||||
@@ -40,24 +40,29 @@
|
||||
android:id="@+id/reply_icon"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_alignStart="@id/body_bubble"
|
||||
android:layout_alignTop="@id/body_bubble"
|
||||
android:layout_alignBottom="@id/body_bubble"
|
||||
android:layout_alignStart="@id/body_bubble_wrapper"
|
||||
android:layout_alignTop="@id/body_bubble_wrapper"
|
||||
android:layout_alignBottom="@id/body_bubble_wrapper"
|
||||
android:alpha="0"
|
||||
app:srcCompat="?menu_reply_icon"
|
||||
android:tint="?icon_tint"
|
||||
android:layout_alignLeft="@id/body_bubble" />
|
||||
android:layout_alignLeft="@id/body_bubble_wrapper" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/body_bubble_wrapper"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toLeftOf="@+id/indicators_parent"
|
||||
android:layout_toStartOf="@+id/indicators_parent"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_marginLeft="@dimen/message_bubble_edge_margin"
|
||||
android:layout_marginStart="@dimen/message_bubble_edge_margin">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/body_bubble"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:layout_toLeftOf="@+id/indicators_parent"
|
||||
android:layout_toStartOf="@+id/indicators_parent"
|
||||
android:layout_alignWithParentIfMissing="true"
|
||||
android:layout_marginLeft="@dimen/message_bubble_edge_margin"
|
||||
android:layout_marginStart="@dimen/message_bubble_edge_margin"
|
||||
android:clipToPadding="false"
|
||||
android:clipChildren="false"
|
||||
android:background="@color/white"
|
||||
@@ -94,6 +99,7 @@
|
||||
android:id="@+id/quote_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="@dimen/message_bubble_max_width"
|
||||
android:layout_marginTop="@dimen/message_bubble_top_padding"
|
||||
android:layout_marginStart="6dp"
|
||||
android:layout_marginEnd="6dp"
|
||||
@@ -168,6 +174,7 @@
|
||||
android:id="@+id/conversation_item_body"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:maxWidth="@dimen/message_bubble_max_width"
|
||||
android:layout_marginLeft="@dimen/message_bubble_horizontal_padding"
|
||||
android:layout_marginRight="@dimen/message_bubble_horizontal_padding"
|
||||
android:layout_marginBottom="@dimen/message_bubble_collapsed_footer_padding"
|
||||
@@ -228,12 +235,14 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<org.thoughtcrime.securesms.reactions.ReactionsConversationView
|
||||
android:id="@+id/reactions_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/body_bubble"
|
||||
android:layout_alignEnd="@id/body_bubble"
|
||||
android:layout_below="@id/body_bubble_wrapper"
|
||||
android:layout_alignEnd="@id/body_bubble_wrapper"
|
||||
android:layout_marginTop="-4dp"
|
||||
android:orientation="horizontal"
|
||||
app:message_type="outgoing" />
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<!-- Limit bubble width on large screens (tablets/foldable devices) to prevent software layer overflow -->
|
||||
<dimen name="message_bubble_max_width">600dp</dimen>
|
||||
</resources>
|
||||
@@ -23,6 +23,7 @@
|
||||
<dimen name="message_bubble_edge_margin">32dp</dimen>
|
||||
<dimen name="message_bubble_bottom_padding">6dp</dimen>
|
||||
<dimen name="message_bubble_showmore_padding">8dp</dimen>
|
||||
<dimen name="message_bubble_max_width">512dp</dimen>
|
||||
<dimen name="transparent_footer_padding">2dp</dimen>
|
||||
<dimen name="media_bubble_remove_button_size">24dp</dimen>
|
||||
<dimen name="media_bubble_edit_button_size">24dp</dimen>
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
<external-cache-path name="external_cache" path="." />
|
||||
<external-files-path name="external_files" path="." />
|
||||
|
||||
<!-- this is needed for access to the cache dir in SD card -->
|
||||
<root-path name="external_root" path="/storage/" />
|
||||
|
||||
<external-path name="external_pictures" path="Pictures"/>
|
||||
<external-path name="external_video" path="Movies"/>
|
||||
<external-path name="external_audio" path="Music"/>
|
||||
<external-path name="external_download" path="Download"/>
|
||||
</paths>
|
||||
</paths>
|
||||
|
||||