Add sticker support.
No sticker packs are available for use yet, but we now have the latent ability to send and receive.
@ -174,6 +174,22 @@
|
|||||||
|
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity android:name=".stickers.StickerPackPreviewActivity"
|
||||||
|
android:theme="@style/TextSecure.LightNoActionBar"
|
||||||
|
android:launchMode="singleTask"
|
||||||
|
android:noHistory="true"
|
||||||
|
android:windowSoftInputMode="stateHidden"
|
||||||
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
<data android:scheme="sgnl"
|
||||||
|
android:host="addstickers" />
|
||||||
|
</intent-filter>
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
|
||||||
<activity android:name=".ConversationListActivity"
|
<activity android:name=".ConversationListActivity"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
@ -318,6 +334,12 @@
|
|||||||
android:windowSoftInputMode="stateUnchanged"
|
android:windowSoftInputMode="stateUnchanged"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
|
<activity android:name=".stickers.StickerManagementActivity"
|
||||||
|
android:launchMode="singleTask"
|
||||||
|
android:theme="@style/TextSecure.LightTheme"
|
||||||
|
android:windowSoftInputMode="stateUnchanged"
|
||||||
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
|
|
||||||
<activity android:name=".DeviceActivity"
|
<activity android:name=".DeviceActivity"
|
||||||
android:label="@string/AndroidManifest__linked_devices"
|
android:label="@string/AndroidManifest__linked_devices"
|
||||||
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
|
||||||
@ -579,6 +601,14 @@
|
|||||||
android:authorities="org.thoughtcrime.securesms.database.attachment"
|
android:authorities="org.thoughtcrime.securesms.database.attachment"
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
|
<provider android:name=".database.DatabaseContentProviders$Sticker"
|
||||||
|
android:authorities="org.thoughtcrime.securesms.database.sticker"
|
||||||
|
android:exported="false" />
|
||||||
|
|
||||||
|
<provider android:name=".database.DatabaseContentProviders$StickerPack"
|
||||||
|
android:authorities="org.thoughtcrime.securesms.database.stickerpack"
|
||||||
|
android:exported="false" />
|
||||||
|
|
||||||
<receiver android:name=".service.BootReceiver">
|
<receiver android:name=".service.BootReceiver">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||||
|
@ -87,7 +87,7 @@ dependencies {
|
|||||||
compile 'org.conscrypt:conscrypt-android:2.0.0'
|
compile 'org.conscrypt:conscrypt-android:2.0.0'
|
||||||
compile 'org.signal:aesgcmprovider:0.0.3'
|
compile 'org.signal:aesgcmprovider:0.0.3'
|
||||||
|
|
||||||
compile 'org.whispersystems:signal-service-android:2.13.1'
|
compile 'org.whispersystems:signal-service-android:2.13.2'
|
||||||
|
|
||||||
compile 'org.whispersystems:webrtc-android:M74'
|
compile 'org.whispersystems:webrtc-android:M74'
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ dependencyVerification {
|
|||||||
'com.google.android.exoplayer:exoplayer-core:b6ab34abac36bc2bc6934b7a50008162feca2c0fde91aaf1e8c1c22f2c16e2c0',
|
'com.google.android.exoplayer:exoplayer-core:b6ab34abac36bc2bc6934b7a50008162feca2c0fde91aaf1e8c1c22f2c16e2c0',
|
||||||
'org.conscrypt:conscrypt-android:400ca559a49b860a82862b22cee0e3110764bdcf7ee7c79e7479895c25cdfc09',
|
'org.conscrypt:conscrypt-android:400ca559a49b860a82862b22cee0e3110764bdcf7ee7c79e7479895c25cdfc09',
|
||||||
'org.signal:aesgcmprovider:6eb4422e8a618b3b76cb2096a3619d251f9e27989dc68307a1e5414c3710f2d1',
|
'org.signal:aesgcmprovider:6eb4422e8a618b3b76cb2096a3619d251f9e27989dc68307a1e5414c3710f2d1',
|
||||||
'org.whispersystems:signal-service-android:2f5ac0cc0d3a016285fd02ec0fb12cf287653fca056a499643aadb4ed35b1c85',
|
'org.whispersystems:signal-service-android:11fd7307248429e5bf3274b57410e60b26492621b138a3d651cc8369d5aa6507',
|
||||||
'org.whispersystems:webrtc-android:2f7befaa3b47a04d244a4eef7c03c2d49c1685a6f92fc505cd5f4ac7eca2dc18',
|
'org.whispersystems:webrtc-android:2f7befaa3b47a04d244a4eef7c03c2d49c1685a6f92fc505cd5f4ac7eca2dc18',
|
||||||
'me.leolin:ShortcutBadger:e3cb3e7625892129b0c92dd5e4bc649faffdd526d5af26d9c45ee31ff8851774',
|
'me.leolin:ShortcutBadger:e3cb3e7625892129b0c92dd5e4bc649faffdd526d5af26d9c45ee31ff8851774',
|
||||||
'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
|
'se.emilsjolander:stickylistheaders:a08ca948aa6b220f09d82f16bbbac395f6b78897e9eeac6a9f0b0ba755928eeb',
|
||||||
@ -258,7 +258,7 @@ dependencyVerification {
|
|||||||
'com.android.support:support-annotations:5d5b9414f02d3fa0ee7526b8d5ddae0da67c8ecc8c4d63ffa6cf91488a93b927',
|
'com.android.support:support-annotations:5d5b9414f02d3fa0ee7526b8d5ddae0da67c8ecc8c4d63ffa6cf91488a93b927',
|
||||||
'com.android.support.constraint:constraint-layout-solver:2cafbe356f71c208013d021f32943904798cd6459e5107f9fe27000eb5bc2aef',
|
'com.android.support.constraint:constraint-layout-solver:2cafbe356f71c208013d021f32943904798cd6459e5107f9fe27000eb5bc2aef',
|
||||||
'org.signal:signal-metadata-android:02323bc29317fa9d3b62fab0b507c94ba2e9bcc4a78d588888ffd313853757b3',
|
'org.signal:signal-metadata-android:02323bc29317fa9d3b62fab0b507c94ba2e9bcc4a78d588888ffd313853757b3',
|
||||||
'org.whispersystems:signal-service-java:5275b437591577d9da1cc6bde7d4fc1d6549c221e2365e108a595b4d21cf7499',
|
'org.whispersystems:signal-service-java:c48607b1fa3dbb67b5204adfd681c6948c7bbb43cc3e6502b65984a3ef53dc49',
|
||||||
'com.github.bumptech.glide:disklrucache:c1b1b6f5bbd01e2fcdc9d7f60913c8d338bdb65ed4a93bfa02b56f19daaade4b',
|
'com.github.bumptech.glide:disklrucache:c1b1b6f5bbd01e2fcdc9d7f60913c8d338bdb65ed4a93bfa02b56f19daaade4b',
|
||||||
'com.github.bumptech.glide:annotations:bede99ef9f71517a4274bac18fd3e483e9f2b6108d7d6fe8f4949be4aa4d9512',
|
'com.github.bumptech.glide:annotations:bede99ef9f71517a4274bac18fd3e483e9f2b6108d7d6fe8f4949be4aa4d9512',
|
||||||
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
|
'com.nineoldandroids:library:68025a14e3e7673d6ad2f95e4b46d78d7d068343aa99256b686fe59de1b3163a',
|
||||||
|
@ -34,6 +34,11 @@ message Attachment {
|
|||||||
optional uint32 length = 3;
|
optional uint32 length = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message Sticker {
|
||||||
|
optional uint64 rowId = 1;
|
||||||
|
optional uint32 length = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message Avatar {
|
message Avatar {
|
||||||
optional string name = 1;
|
optional string name = 1;
|
||||||
optional uint32 length = 2;
|
optional uint32 length = 2;
|
||||||
@ -56,4 +61,5 @@ message BackupFrame {
|
|||||||
optional DatabaseVersion version = 5;
|
optional DatabaseVersion version = 5;
|
||||||
optional bool end = 6;
|
optional bool end = 6;
|
||||||
optional Avatar avatar = 7;
|
optional Avatar avatar = 7;
|
||||||
|
optional Sticker sticker = 8;
|
||||||
}
|
}
|
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 599 B |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 499 B |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 586 B |
Before Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 745 B |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 589 B |
Before Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 386 B |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 350 B |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 479 B |
Before Width: | Height: | Size: 451 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 753 B |
Before Width: | Height: | Size: 731 B |
Before Width: | Height: | Size: 730 B |
Before Width: | Height: | Size: 753 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 809 B |
Before Width: | Height: | Size: 847 B |
Before Width: | Height: | Size: 849 B |
Before Width: | Height: | Size: 809 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 806 B |
Before Width: | Height: | Size: 776 B |
Before Width: | Height: | Size: 785 B |
Before Width: | Height: | Size: 806 B |
Before Width: | Height: | Size: 458 B |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 773 B |
Before Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 794 B |
Before Width: | Height: | Size: 773 B |
Before Width: | Height: | Size: 694 B |
17
res/drawable-v21/sticker_button_dark.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ripple
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:color="@color/transparent_white_40">
|
||||||
|
|
||||||
|
<item android:id="@+id/mask">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<solid android:color="@color/transparent_black" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<shape android:shape="oval" >
|
||||||
|
<solid android:color="@color/core_grey_75"/>
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</ripple>
|
17
res/drawable-v21/sticker_button_light.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ripple
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:color="@color/transparent_black_40">
|
||||||
|
|
||||||
|
<item android:id="@+id/mask">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<solid android:color="@color/transparent_black" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
|
||||||
|
<item>
|
||||||
|
<shape android:shape="oval" >
|
||||||
|
<solid android:color="@color/core_grey_05"/>
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</ripple>
|
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 808 B |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 680 B |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 641 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 1.2 KiB |