Added possibility to re-register selected account by swipe gesture
This commit is contained in:
@ -45,11 +45,12 @@ android {
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'com.google.android.material:material:1.2.0'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
||||
@ -21,7 +21,7 @@ import android.widget.*
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
import java.io.File
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
@ -54,6 +54,7 @@ class MainActivity : AppCompatActivity() {
|
||||
internal lateinit var quitTimer: CountDownTimer
|
||||
internal lateinit var stopState: String
|
||||
internal lateinit var speakerIcon: MenuItem
|
||||
internal lateinit var swipeRefresh: SwipeRefreshLayout
|
||||
|
||||
internal var restart = false
|
||||
internal var atStartup = false
|
||||
@ -91,6 +92,7 @@ class MainActivity : AppCompatActivity() {
|
||||
messagesButton = findViewById(R.id.messagesButton) as ImageButton
|
||||
callsButton = findViewById(R.id.callsButton) as ImageButton
|
||||
dialpadButton = findViewById(R.id.dialpadButton) as ImageButton
|
||||
swipeRefresh = findViewById(R.id.swipeRefresh) as SwipeRefreshLayout
|
||||
|
||||
imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
|
||||
nm = getSystemService(NOTIFICATION_SERVICE) as NotificationManager
|
||||
@ -205,7 +207,7 @@ class MainActivity : AppCompatActivity() {
|
||||
"green" -> {
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.info)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(getString(R.string.call_is_secure))
|
||||
setPositiveButton(getString(R.string.unverify)) { dialog, _ ->
|
||||
@ -381,7 +383,7 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.voicemail_messages)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(acc.vmMessages(this@MainActivity))
|
||||
setPositiveButton(getString(R.string.listen), dialogClickListener)
|
||||
@ -438,6 +440,17 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
swipeRefresh.setOnRefreshListener {
|
||||
if (UserAgent.uas().size > 0) {
|
||||
if (aorSpinner.selectedItemPosition == -1)
|
||||
aorSpinner.setSelection(0)
|
||||
val ua = UserAgent.uas()[aorSpinner.selectedItemPosition]
|
||||
if (ua.account.regint > 0)
|
||||
Api.ua_register(ua.uap)
|
||||
}
|
||||
swipeRefresh.isRefreshing = false
|
||||
}
|
||||
|
||||
baresipService = Intent(this@MainActivity, BaresipService::class.java)
|
||||
|
||||
atStartup = intent.hasExtra("onStartup")
|
||||
@ -602,7 +615,7 @@ class MainActivity : AppCompatActivity() {
|
||||
if (params[0] != "") {
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.notice)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(getString(R.string.start_failed))
|
||||
setNeutralButton(getString(R.string.ok)) { dialog, _ ->
|
||||
@ -695,7 +708,7 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.verify)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(String.format(getString(R.string.verify_sas),
|
||||
ev[1], ev[2]))
|
||||
@ -757,7 +770,7 @@ class MainActivity : AppCompatActivity() {
|
||||
titleView.text = getString(R.string.transfer_request)
|
||||
val target = Utils.friendlyUri(ContactsActivity.contactName(ev[1]),
|
||||
Utils.aorDomain(aor))
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(String.format(getString(R.string.transfer_request_query),
|
||||
target))
|
||||
@ -912,7 +925,7 @@ class MainActivity : AppCompatActivity() {
|
||||
R.id.backup -> {
|
||||
if (Utils.requestPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE,
|
||||
BACKUP_PERMISSION_REQUEST_CODE))
|
||||
askPassword(getString(R.string.encrypt_password))
|
||||
askPassword(getString(R.string.encrypt_password))
|
||||
}
|
||||
|
||||
R.id.restore -> {
|
||||
@ -962,14 +975,14 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
CONTACTS_CODE -> {
|
||||
callUri.setAdapter(ArrayAdapter(this, android.R.layout.select_dialog_item,
|
||||
Contact.contacts().map{Contact -> Contact.name}))
|
||||
Contact.contacts().map { Contact -> Contact.name }))
|
||||
}
|
||||
|
||||
CONFIG_CODE -> {
|
||||
if ((data != null) && data.hasExtra("restart")) {
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.restart_request)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(getString(R.string.config_restart))
|
||||
setPositiveButton(getText(R.string.restart)) { dialog, _ ->
|
||||
@ -994,7 +1007,8 @@ class MainActivity : AppCompatActivity() {
|
||||
updateIcons(Account.ofAor(activityAor)!!)
|
||||
}
|
||||
|
||||
ABOUT_CODE -> { }
|
||||
ABOUT_CODE -> {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -1052,7 +1066,7 @@ class MainActivity : AppCompatActivity() {
|
||||
transferUri.setAdapter(ArrayAdapter(this, android.R.layout.select_dialog_item,
|
||||
Contact.contacts().map { Contact -> Contact.name }))
|
||||
transferUri.threshold = 2
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setView(layout)
|
||||
setPositiveButton(R.string.transfer) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
@ -1105,7 +1119,7 @@ class MainActivity : AppCompatActivity() {
|
||||
input.transformationMethod = PasswordTransformationMethod()
|
||||
}
|
||||
val context = this
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setView(layout)
|
||||
setPositiveButton(android.R.string.ok) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
@ -1155,7 +1169,7 @@ class MainActivity : AppCompatActivity() {
|
||||
input.transformationMethod = PasswordTransformationMethod()
|
||||
}
|
||||
val context = this
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setView(layout)
|
||||
setPositiveButton(android.R.string.ok) { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
@ -1249,7 +1263,7 @@ class MainActivity : AppCompatActivity() {
|
||||
Utils.deleteFile(File(zipFilePath))
|
||||
val titleView = View.inflate(this, R.layout.alert_title, null) as TextView
|
||||
titleView.text = getString(R.string.info)
|
||||
with (AlertDialog.Builder(this)) {
|
||||
with(AlertDialog.Builder(this)) {
|
||||
setCustomTitle(titleView)
|
||||
setMessage(getString(R.string.restored))
|
||||
setPositiveButton(getText(R.string.restart)) { dialog, _ ->
|
||||
@ -1349,7 +1363,7 @@ class MainActivity : AppCompatActivity() {
|
||||
callUri.isFocusableInTouchMode = true
|
||||
imm.hideSoftInputFromWindow(callUri.windowToken, 0)
|
||||
callUri.setAdapter(ArrayAdapter(this, android.R.layout.select_dialog_item,
|
||||
Contact.contacts().map{Contact -> Contact.name}))
|
||||
Contact.contacts().map { Contact -> Contact.name }))
|
||||
securityButton.visibility = View.INVISIBLE
|
||||
callButton.visibility = View.VISIBLE
|
||||
callButton.isEnabled = true
|
||||
|
||||
@ -6,247 +6,254 @@
|
||||
android:layout_marginBottom="10dp"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<ScrollView
|
||||
android:id="@+id/scrollView"
|
||||
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||
android:id="@+id/swipeRefresh"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true" >
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/mainActivityLayout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin">
|
||||
<ScrollView
|
||||
android:id="@+id/scrollView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true" >
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/AoRList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:drawable/btn_dropdown"
|
||||
android:spinnerMode="dropdown"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/callTitle"
|
||||
<RelativeLayout
|
||||
android:id="@+id/mainActivityLayout"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/AoRList"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingStart="3dp"
|
||||
android:paddingEnd="0dp"
|
||||
android:textSize="20sp"
|
||||
android:textColor="@android:color/black"
|
||||
android:text="@string/outgoing_call_to_dots" >
|
||||
</TextView>
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/uriRow"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/callTitle"
|
||||
android:paddingBottom="10dp" >
|
||||
<Spinner
|
||||
android:id="@+id/AoRList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:drawable/btn_dropdown"
|
||||
android:spinnerMode="dropdown"/>
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/callUri"
|
||||
<TextView
|
||||
android:id="@+id/callTitle"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight = "1"
|
||||
android:inputType="textEmailAddress"
|
||||
android:layout_below="@id/AoRList"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingStart="3dp"
|
||||
android:paddingEnd="0dp"
|
||||
android:textSize="20sp"
|
||||
android:hint="@string/callee" >
|
||||
<!-- <requestFocus /> -->
|
||||
</AutoCompleteTextView>
|
||||
android:textColor="@android:color/black"
|
||||
android:text="@string/outgoing_call_to_dots" >
|
||||
</TextView>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/uriRow"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/callTitle"
|
||||
android:paddingBottom="10dp" >
|
||||
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/callUri"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight = "1"
|
||||
android:inputType="textEmailAddress"
|
||||
android:textSize="20sp"
|
||||
android:hint="@string/callee" >
|
||||
<!-- <requestFocus /> -->
|
||||
</AutoCompleteTextView>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/securityButton"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_weight = "0"
|
||||
android:layout_gravity = "center_vertical"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/app_name" >
|
||||
</ImageButton>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/securityButton"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_weight = "0"
|
||||
android:layout_gravity = "center_vertical"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/app_name" >
|
||||
android:id="@+id/callButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/call_green"
|
||||
android:contentDescription="@string/call" >
|
||||
</ImageButton>
|
||||
|
||||
</LinearLayout>
|
||||
<ImageButton
|
||||
android:id="@+id/hangupButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/hangup"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/hangup" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/callButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/call_green"
|
||||
android:contentDescription="@string/call" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/answerButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/call_green"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/answer" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/hangupButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/hangup"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/hangup" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/rejectButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/hangup"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/reject" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/answerButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/call_green"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/answer" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/holdButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:src="@drawable/pause"
|
||||
android:background="@null"
|
||||
android:layout_marginStart="70dp"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/hold" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/rejectButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/hangup"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/reject" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/transferButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:src="@drawable/call_transfer"
|
||||
android:background="@null"
|
||||
android:layout_marginStart="140dp"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/call_transfer" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/holdButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:src="@drawable/pause"
|
||||
android:background="@null"
|
||||
android:layout_marginStart="70dp"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/hold" >
|
||||
</ImageButton>
|
||||
<EditText
|
||||
android:id="@+id/dtmf"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:layout_marginStart="210dp"
|
||||
android:inputType="phone"
|
||||
android:textSize="20sp"
|
||||
android:hint="@string/dtmf"
|
||||
android:visibility="invisible"
|
||||
android:importantForAutofill="no" >
|
||||
</EditText>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/transferButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:src="@drawable/call_transfer"
|
||||
android:background="@null"
|
||||
android:layout_marginStart="140dp"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/call_transfer" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:src="@drawable/info"
|
||||
android:layout_marginTop="6dp"
|
||||
android:background="@null"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/call_info" >
|
||||
</ImageButton>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/dtmf"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:layout_marginStart="210dp"
|
||||
android:inputType="phone"
|
||||
android:textSize="20sp"
|
||||
android:hint="@string/dtmf"
|
||||
android:visibility="invisible"
|
||||
android:importantForAutofill="no" >
|
||||
</EditText>
|
||||
</RelativeLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/info"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/uriRow"
|
||||
android:padding="0dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:src="@drawable/info"
|
||||
android:layout_marginTop="6dp"
|
||||
android:background="@null"
|
||||
android:clickable="false"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/call_info" >
|
||||
</ImageButton>
|
||||
</ScrollView>
|
||||
|
||||
</RelativeLayout>
|
||||
<ImageButton
|
||||
android:id="@+id/voicemailButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/voicemail"
|
||||
android:layout_toStartOf="@id/contactsButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/voicemail" >
|
||||
</ImageButton>
|
||||
|
||||
</ScrollView>
|
||||
<ImageButton
|
||||
android:id="@+id/contactsButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/contacts"
|
||||
android:layout_toStartOf="@id/messagesButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:contentDescription="@string/contacts" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/voicemailButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/voicemail"
|
||||
android:layout_toStartOf="@id/contactsButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:visibility="invisible"
|
||||
android:contentDescription="@string/voicemail" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/messagesButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/messages"
|
||||
android:layout_toStartOf="@id/callsButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:contentDescription="@string/messages" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/contactsButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/contacts"
|
||||
android:layout_toStartOf="@id/messagesButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:contentDescription="@string/contacts" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/callsButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toStartOf="@id/dialpadButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/calls"
|
||||
android:contentDescription="@string/call_history" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/messagesButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:src="@drawable/messages"
|
||||
android:layout_toStartOf="@id/callsButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:contentDescription="@string/messages" >
|
||||
</ImageButton>
|
||||
<ImageButton
|
||||
android:id="@+id/dialpadButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@null"
|
||||
android:src="@drawable/dialpad_off"
|
||||
android:contentDescription="@string/dialpad" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/callsButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toStartOf="@id/dialpadButton"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:padding="0dp"
|
||||
android:background="@null"
|
||||
android:src="@drawable/calls"
|
||||
android:contentDescription="@string/call_history" >
|
||||
</ImageButton>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/dialpadButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="2dp"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:background="@null"
|
||||
android:src="@drawable/dialpad_off"
|
||||
android:contentDescription="@string/dialpad" >
|
||||
</ImageButton>
|
||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
Reference in New Issue
Block a user