Merge branch 'dev' into strings-squashed
@ -108,23 +108,23 @@ class HomeActivityTests {
|
|||||||
PermissionGranter.allowPermissionsIfNeeded(Manifest.permission.POST_NOTIFICATIONS)
|
PermissionGranter.allowPermissionsIfNeeded(Manifest.permission.POST_NOTIFICATIONS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ACL - COMMENTED OUT BECAUSE REFERENCES DELETED FRAGMENT `EnterPublicKeyFragment.kt` - which itself used R.id.<stuff_which_no_longer_exists>
|
||||||
private fun goToMyChat() {
|
// private fun goToMyChat() {
|
||||||
onView(withId(R.id.newConversationButton)).perform(ViewActions.click())
|
// onView(withId(R.id.newConversationButton)).perform(ViewActions.click())
|
||||||
onView(withId(R.id.createPrivateChatButton)).perform(ViewActions.click())
|
// onView(withId(R.id.createPrivateChatButton)).perform(ViewActions.click())
|
||||||
// new chat
|
// // new chat
|
||||||
onView(withId(R.id.publicKeyEditText)).perform(ViewActions.closeSoftKeyboard())
|
// onView(withId(R.id.publicKeyEditText)).perform(ViewActions.closeSoftKeyboard())
|
||||||
onView(withId(R.id.copyButton)).perform(ViewActions.click())
|
// onView(withId(R.id.copyButton)).perform(ViewActions.click())
|
||||||
val context = InstrumentationRegistry.getInstrumentation().targetContext
|
// val context = InstrumentationRegistry.getInstrumentation().targetContext
|
||||||
lateinit var copied: String
|
// lateinit var copied: String
|
||||||
InstrumentationRegistry.getInstrumentation().runOnMainSync {
|
// InstrumentationRegistry.getInstrumentation().runOnMainSync {
|
||||||
val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
// val clipboardManager = context.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||||
copied = clipboardManager.primaryClip!!.getItemAt(0).text.toString()
|
// copied = clipboardManager.primaryClip!!.getItemAt(0).text.toString()
|
||||||
}
|
// }
|
||||||
onView(withId(R.id.publicKeyEditText)).perform(ViewActions.typeText(copied))
|
// onView(withId(R.id.publicKeyEditText)).perform(ViewActions.typeText(copied))
|
||||||
onView(withId(R.id.publicKeyEditText)).perform(ViewActions.closeSoftKeyboard())
|
// onView(withId(R.id.publicKeyEditText)).perform(ViewActions.closeSoftKeyboard())
|
||||||
onView(withId(R.id.createPrivateChatButton)).perform(ViewActions.click())
|
// onView(withId(R.id.createPrivateChatButton)).perform(ViewActions.click())
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testLaunches_dismiss_seedView() {
|
fun testLaunches_dismiss_seedView() {
|
||||||
@ -147,42 +147,44 @@ class HomeActivityTests {
|
|||||||
onView(withId(R.id.seedReminderView)).check(matches(not(isDisplayed())))
|
onView(withId(R.id.seedReminderView)).check(matches(not(isDisplayed())))
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
// ACL - COMMENTED OUT BECAUSE REFERENCES DELETED FRAGMENT `EnterPublicKeyFragment.kt` - which itself used R.id.<stuff_which_no_longer_exists>
|
||||||
fun testChat_withSelf() {
|
// @Test
|
||||||
setupLoggedInState()
|
// fun testChat_withSelf() {
|
||||||
goToMyChat()
|
// setupLoggedInState()
|
||||||
TextSecurePreferences.setLinkPreviewsEnabled(context, true)
|
// goToMyChat()
|
||||||
sendMessage("howdy")
|
// TextSecurePreferences.setLinkPreviewsEnabled(context, true)
|
||||||
sendMessage("test")
|
// sendMessage("howdy")
|
||||||
// tests url rewriter doesn't crash
|
// sendMessage("test")
|
||||||
sendMessage("https://www.getsession.org?random_query_parameter=testtesttesttesttesttesttesttest&other_query_parameter=testtesttesttesttesttesttesttest")
|
// // tests url rewriter doesn't crash
|
||||||
sendMessage("https://www.ámazon.com")
|
// sendMessage("https://www.getsession.org?random_query_parameter=testtesttesttesttesttesttesttest&other_query_parameter=testtesttesttesttesttesttesttest")
|
||||||
}
|
// sendMessage("https://www.ámazon.com")
|
||||||
|
// }
|
||||||
|
|
||||||
@Test
|
// ACL - COMMENTED OUT BECAUSE REFERENCES DELETED FRAGMENT `EnterPublicKeyFragment.kt` - which itself used R.id.<stuff_which_no_longer_exists>
|
||||||
fun testChat_displaysCorrectUrl() {
|
// @Test
|
||||||
setupLoggedInState()
|
// fun testChat_displaysCorrectUrl() {
|
||||||
goToMyChat()
|
// setupLoggedInState()
|
||||||
TextSecurePreferences.setLinkPreviewsEnabled(InstrumentationRegistry.getInstrumentation().targetContext, true)
|
// goToMyChat()
|
||||||
// given the link url text
|
// TextSecurePreferences.setLinkPreviewsEnabled(InstrumentationRegistry.getInstrumentation().targetContext, true)
|
||||||
val url = "https://www.ámazon.com"
|
// // given the link url text
|
||||||
sendMessage(url, LinkPreview(url, "amazon", Optional.absent()))
|
// val url = "https://www.ámazon.com"
|
||||||
|
// sendMessage(url, LinkPreview(url, "amazon", Optional.absent()))
|
||||||
// when the URL span is clicked
|
//
|
||||||
onView(withSubstring(url)).perform(ViewActions.click())
|
// // when the URL span is clicked
|
||||||
|
// onView(withSubstring(url)).perform(ViewActions.click())
|
||||||
// then the URL dialog should be displayed with a known punycode url
|
//
|
||||||
val amazonPuny = "https://www.xn--mazon-wqa.com/"
|
// // then the URL dialog should be displayed with a known punycode url
|
||||||
|
// val amazonPuny = "https://www.xn--mazon-wqa.com/"
|
||||||
// Substitute the URL into our string
|
//
|
||||||
val c = InstrumentationRegistry.getInstrumentation().targetContext
|
// // Substitute the URL into our string
|
||||||
val dialogPromptText = Phrase.from(c, R.string.urlOpenDescription)
|
// val c = InstrumentationRegistry.getInstrumentation().targetContext
|
||||||
.put(URL_KEY, amazonPuny)
|
// val dialogPromptText = Phrase.from(c, R.string.urlOpenDescription)
|
||||||
.format().toString()
|
// .put(URL_KEY, amazonPuny)
|
||||||
|
// .format().toString()
|
||||||
onView(isRoot()).perform(waitFor(1000)) // no other way for this to work apparently
|
//
|
||||||
onView(withText(dialogPromptText)).check(matches(isDisplayed()))
|
// onView(isRoot()).perform(waitFor(1000)) // no other way for this to work apparently
|
||||||
}
|
// onView(withText(dialogPromptText)).check(matches(isDisplayed()))
|
||||||
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform action of waiting for a specific time.
|
* Perform action of waiting for a specific time.
|
||||||
|
@ -1,101 +0,0 @@
|
|||||||
package org.thoughtcrime.securesms.dms
|
|
||||||
|
|
||||||
import android.content.ClipData
|
|
||||||
import android.content.ClipboardManager
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.os.Bundle
|
|
||||||
import android.text.InputType
|
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.View
|
|
||||||
import android.view.ViewGroup
|
|
||||||
import android.view.inputmethod.EditorInfo
|
|
||||||
import android.widget.Toast
|
|
||||||
import androidx.core.view.isVisible
|
|
||||||
import androidx.core.widget.addTextChangedListener
|
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import network.loki.messenger.R
|
|
||||||
import network.loki.messenger.databinding.FragmentEnterPublicKeyBinding
|
|
||||||
import org.session.libsession.utilities.TextSecurePreferences
|
|
||||||
import org.thoughtcrime.securesms.util.QRCodeUtilities
|
|
||||||
import org.thoughtcrime.securesms.util.hideKeyboard
|
|
||||||
import org.thoughtcrime.securesms.util.toPx
|
|
||||||
|
|
||||||
class EnterPublicKeyFragment : Fragment() {
|
|
||||||
private lateinit var binding: FragmentEnterPublicKeyBinding
|
|
||||||
|
|
||||||
var delegate: EnterPublicKeyDelegate? = null
|
|
||||||
|
|
||||||
private val hexEncodedPublicKey: String
|
|
||||||
get() {
|
|
||||||
return TextSecurePreferences.getLocalNumber(requireContext())!!
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
|
|
||||||
binding = FragmentEnterPublicKeyBinding.inflate(inflater, container, false)
|
|
||||||
return binding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
with(binding) {
|
|
||||||
publicKeyEditText.imeOptions = EditorInfo.IME_ACTION_DONE or 16777216 // Always use incognito keyboard
|
|
||||||
publicKeyEditText.setRawInputType(InputType.TYPE_CLASS_TEXT)
|
|
||||||
publicKeyEditText.setOnEditorActionListener { v, actionID, _ ->
|
|
||||||
if (actionID == EditorInfo.IME_ACTION_DONE) {
|
|
||||||
v.hideKeyboard()
|
|
||||||
handlePublicKeyEntered()
|
|
||||||
true
|
|
||||||
} else {
|
|
||||||
false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
publicKeyEditText.addTextChangedListener { text -> createPrivateChatButton.isVisible = !text.isNullOrBlank() }
|
|
||||||
publicKeyEditText.setOnFocusChangeListener { _, hasFocus -> optionalContentContainer.isVisible = !hasFocus }
|
|
||||||
mainContainer.setOnTouchListener { _, _ ->
|
|
||||||
binding.optionalContentContainer.isVisible = true
|
|
||||||
publicKeyEditText.clearFocus()
|
|
||||||
publicKeyEditText.hideKeyboard()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
val size = toPx(228, resources)
|
|
||||||
val qrCode = QRCodeUtilities.encode(hexEncodedPublicKey, size, isInverted = false, hasTransparentBackground = false)
|
|
||||||
qrCodeImageView.setImageBitmap(qrCode)
|
|
||||||
publicKeyTextView.text = hexEncodedPublicKey
|
|
||||||
publicKeyTextView.setOnCreateContextMenuListener { contextMenu, view, _ ->
|
|
||||||
contextMenu.add(0, view.id, 0, R.string.copy).setOnMenuItemClickListener {
|
|
||||||
copyPublicKey()
|
|
||||||
true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
copyButton.setOnClickListener { copyPublicKey() }
|
|
||||||
shareButton.setOnClickListener { sharePublicKey() }
|
|
||||||
createPrivateChatButton.setOnClickListener { handlePublicKeyEntered(); publicKeyEditText.hideKeyboard() }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun copyPublicKey() {
|
|
||||||
val clipboard = requireActivity().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
|
||||||
val clip = ClipData.newPlainText("Session ID", hexEncodedPublicKey)
|
|
||||||
clipboard.setPrimaryClip(clip)
|
|
||||||
Toast.makeText(requireContext(), R.string.copied, Toast.LENGTH_SHORT).show()
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun sharePublicKey() {
|
|
||||||
val intent = Intent()
|
|
||||||
intent.action = Intent.ACTION_SEND
|
|
||||||
intent.putExtra(Intent.EXTRA_TEXT, hexEncodedPublicKey)
|
|
||||||
intent.type = "text/plain"
|
|
||||||
startActivity(intent)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun handlePublicKeyEntered() {
|
|
||||||
val hexEncodedPublicKey = binding.publicKeyEditText.text?.trim()?.toString()
|
|
||||||
if (hexEncodedPublicKey.isNullOrEmpty()) return
|
|
||||||
delegate?.handlePublicKeyEntered(hexEncodedPublicKey)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun interface EnterPublicKeyDelegate {
|
|
||||||
fun handlePublicKeyEntered(publicKey: String)
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android" >
|
|
||||||
<translate
|
|
||||||
android:interpolator="@android:anim/decelerate_interpolator"
|
|
||||||
android:duration="350"
|
|
||||||
android:fromYDelta="100%"
|
|
||||||
android:toYDelta="0%" />
|
|
||||||
</set>
|
|
@ -1,6 +0,0 @@
|
|||||||
<alpha
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:interpolator="@android:interpolator/decelerate_quad"
|
|
||||||
android:fromAlpha="0.0"
|
|
||||||
android:toAlpha="1.0"
|
|
||||||
android:duration="@android:integer/config_shortAnimTime" />
|
|
@ -1,6 +0,0 @@
|
|||||||
<alpha
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:interpolator="@android:interpolator/decelerate_quad"
|
|
||||||
android:fromAlpha="1.0"
|
|
||||||
android:toAlpha="0.0"
|
|
||||||
android:duration="@android:integer/config_shortAnimTime" />
|
|
@ -1,17 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:interpolator="@android:anim/decelerate_interpolator">
|
|
||||||
<scale
|
|
||||||
android:duration="150"
|
|
||||||
android:fromXScale="0.85"
|
|
||||||
android:fromYScale="0.85"
|
|
||||||
android:toXScale="1.0"
|
|
||||||
android:toYScale="1.0"
|
|
||||||
android:pivotX="50%"
|
|
||||||
android:pivotY="50%" />
|
|
||||||
<alpha
|
|
||||||
android:duration="150"
|
|
||||||
android:fromAlpha="0.6"
|
|
||||||
android:toAlpha="1.0" />
|
|
||||||
</set>
|
|
@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android" >
|
|
||||||
<alpha android:duration="1"
|
|
||||||
android:fromAlpha="0"
|
|
||||||
android:toAlpha="1"/>
|
|
||||||
|
|
||||||
<translate
|
|
||||||
android:duration="250"
|
|
||||||
android:fromYDelta="-100%"
|
|
||||||
android:toYDelta="0%" />
|
|
||||||
</set>
|
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<translate
|
|
||||||
android:duration="250"
|
|
||||||
android:fromYDelta="0%"
|
|
||||||
android:toYDelta="-100%" />
|
|
||||||
</set>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:interpolator/accelerate_decelerate"
|
|
||||||
android:propertyName="pathData"
|
|
||||||
android:valueFrom="@string/pause_icon_bottom_path_data"
|
|
||||||
android:valueTo="@string/play_icon_bottom_path_data"
|
|
||||||
android:valueType="pathType"/>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:interpolator/accelerate_decelerate"
|
|
||||||
android:propertyName="pathData"
|
|
||||||
android:valueFrom="@string/play_icon_bottom_path_data"
|
|
||||||
android:valueTo="@string/pause_icon_bottom_path_data"
|
|
||||||
android:valueType="pathType"/>
|
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
|
|
||||||
android:propertyName="rotation"
|
|
||||||
android:valueFrom="0"
|
|
||||||
android:valueTo="90"
|
|
||||||
android:valueType="floatType"/>
|
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
|
|
||||||
android:propertyName="rotation"
|
|
||||||
android:valueFrom="90"
|
|
||||||
android:valueTo="0"
|
|
||||||
android:valueType="floatType"/>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:interpolator/accelerate_decelerate"
|
|
||||||
android:propertyName="pathData"
|
|
||||||
android:valueFrom="@string/pause_icon_upper_path_data"
|
|
||||||
android:valueTo="@string/play_icon_upper_path_data"
|
|
||||||
android:valueType="pathType"/>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:duration="@integer/play_button_animation_duration"
|
|
||||||
android:interpolator="@android:interpolator/accelerate_decelerate"
|
|
||||||
android:propertyName="pathData"
|
|
||||||
android:valueFrom="@string/play_icon_upper_path_data"
|
|
||||||
android:valueTo="@string/pause_icon_upper_path_data"
|
|
||||||
android:valueType="pathType"/>
|
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item android:color="@color/signal_icon_tint_tab_selected" android:state_selected="true" />
|
|
||||||
<item android:color="@color/signal_icon_tint_tab_unselected" />
|
|
||||||
</selector>
|
|
Before Width: | Height: | Size: 117 B |
Before Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 304 B |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 988 B |
Before Width: | Height: | Size: 287 B |
Before Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 274 B |
Before Width: | Height: | Size: 407 B |
Before Width: | Height: | Size: 814 B |
Before Width: | Height: | Size: 862 B |
Before Width: | Height: | Size: 367 B |
Before Width: | Height: | Size: 347 B |
Before Width: | Height: | Size: 114 B |
Before Width: | Height: | Size: 253 B |
Before Width: | Height: | Size: 236 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 888 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 781 B |
Before Width: | Height: | Size: 557 B |
Before Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 255 B |
Before Width: | Height: | Size: 191 B |
Before Width: | Height: | Size: 319 B |
Before Width: | Height: | Size: 543 B |
Before Width: | Height: | Size: 542 B |
Before Width: | Height: | Size: 295 B |
Before Width: | Height: | Size: 290 B |
Before Width: | Height: | Size: 143 B |
Before Width: | Height: | Size: 410 B |
Before Width: | Height: | Size: 379 B |
Before Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 363 B |
Before Width: | Height: | Size: 387 B |
Before Width: | Height: | Size: 282 B |
Before Width: | Height: | Size: 584 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 538 B |
Before Width: | Height: | Size: 504 B |
Before Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 540 B |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 494 B |
Before Width: | Height: | Size: 346 B |
Before Width: | Height: | Size: 452 B |
Before Width: | Height: | Size: 785 B |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 720 B |
Before Width: | Height: | Size: 563 B |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 545 B |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 650 B |
Before Width: | Height: | Size: 14 KiB |
@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:drawable="@drawable/circle_tintable"
|
|
||||||
android:inset="4dp"/>
|
|
@ -1,13 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" />
|
|
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<shape
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:shape="rectangle">
|
|
||||||
|
|
||||||
<stroke
|
|
||||||
android:width="1dp"
|
|
||||||
android:color="@color/core_grey_15" />
|
|
||||||
|
|
||||||
<solid
|
|
||||||
android:color="@color/core_grey_05" />
|
|
||||||
|
|
||||||
<corners
|
|
||||||
android:radius="20dp" />
|
|
||||||
|
|
||||||
</shape>
|
|
@ -1,18 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
|
|
||||||
<item>
|
|
||||||
<shape android:shape="rectangle">
|
|
||||||
<solid android:color="#0d000000" />
|
|
||||||
<corners android:radius="@dimen/message_bubble_corner_radius" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
|
|
||||||
<item android:bottom="@dimen/message_bubble_shadow_distance">
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<solid android:color="#fff3f3f3" />
|
|
||||||
<corners android:bottomLeftRadius="@dimen/message_bubble_corner_radius" android:bottomRightRadius="@dimen/message_bubble_corner_radius" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
|
|
||||||
</layer-list>
|
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item android:left="83dp">
|
|
||||||
<shape android:shape="rectangle">
|
|
||||||
<solid android:color="@color/gray12" />
|
|
||||||
<size android:height="1px" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
</layer-list>
|
|
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:color="@color/textsecure_primary">
|
|
||||||
<item android:id="@android:id/mask" android:drawable="@android:color/black" />
|
|
||||||
<item>
|
|
||||||
<selector>
|
|
||||||
<item android:drawable="?colorAccent" android:state_selected="true" />
|
|
||||||
</selector>
|
|
||||||
</item>
|
|
||||||
</ripple>
|
|
@ -1,8 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<gradient
|
|
||||||
android:type="linear"
|
|
||||||
android:angle="90"
|
|
||||||
android:endColor="@color/transparent"
|
|
||||||
android:startColor="?conversation_menu_background_color"/>
|
|
||||||
</shape>
|
|
@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ripple
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:color="?android:colorControlHighlight">
|
|
||||||
|
|
||||||
<item>
|
|
||||||
<color android:color="?conversation_pinned_background_color" />
|
|
||||||
</item>
|
|
||||||
</ripple>
|
|
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="100dp"
|
|
||||||
android:height="100dp"
|
|
||||||
android:viewportWidth="100"
|
|
||||||
android:viewportHeight="100">
|
|
||||||
|
|
||||||
<path
|
|
||||||
android:pathData="M0,0 L100,100 M0,100 L100,0"
|
|
||||||
android:strokeWidth="1"
|
|
||||||
android:strokeColor="@android:color/white" />
|
|
||||||
</vector>
|
|
@ -1,11 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<shape
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:shape="rectangle">
|
|
||||||
|
|
||||||
<solid android:color="?danger" />
|
|
||||||
|
|
||||||
<corners android:radius="@dimen/dialog_button_corner_radius" />
|
|
||||||
|
|
||||||
<stroke android:width="@dimen/border_thickness" android:color="?danger" />
|
|
||||||
</shape>
|
|
@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<shape
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:shape="rectangle" >
|
|
||||||
|
|
||||||
<gradient
|
|
||||||
android:angle="90"
|
|
||||||
android:startColor="?default_background_start"
|
|
||||||
android:endColor="?default_background_end"
|
|
||||||
android:type="linear" />
|
|
||||||
|
|
||||||
</shape>
|
|
@ -1,18 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="32dp"
|
|
||||||
android:height="32dp"
|
|
||||||
android:viewportWidth="32"
|
|
||||||
android:viewportHeight="32">
|
|
||||||
<path
|
|
||||||
android:pathData="M16,16m-16,0a16,16 0,1 1,32 0a16,16 0,1 1,-32 0"
|
|
||||||
android:fillColor="@color/core_grey_05"/>
|
|
||||||
<path
|
|
||||||
android:pathData="M8,16m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"
|
|
||||||
android:fillColor="@color/core_grey_45"/>
|
|
||||||
<path
|
|
||||||
android:pathData="M16,16m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"
|
|
||||||
android:fillColor="@color/core_grey_45"/>
|
|
||||||
<path
|
|
||||||
android:pathData="M24,16m-2,0a2,2 0,1 1,4 0a2,2 0,1 1,-4 0"
|
|
||||||
android:fillColor="@color/core_grey_45"/>
|
|
||||||
</vector>
|
|
@ -1,10 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24"
|
|
||||||
android:viewportHeight="24"
|
|
||||||
android:tint="?attr/colorControlNormal">
|
|
||||||
<path
|
|
||||||
android:fillColor="@android:color/white"
|
|
||||||
android:pathData="M12,4l-1.41,1.41L16.17,11H4v2h12.17l-5.58,5.59L12,20l8,-8z"/>
|
|
||||||
</vector>
|
|
@ -1,11 +0,0 @@
|
|||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="24dp"
|
|
||||||
android:height="24dp"
|
|
||||||
android:viewportWidth="24"
|
|
||||||
android:viewportHeight="24"
|
|
||||||
android:tint="?attr/colorControlNormal"
|
|
||||||
android:autoMirrored="true">
|
|
||||||
<path
|
|
||||||
android:fillColor="@android:color/white"
|
|
||||||
android:pathData="M9,5v2h6.59L4,18.59 5.41,20 17,8.41V15h2V5z"/>
|
|
||||||
</vector>
|
|