Skip to content

Commit

Permalink
Closes #853, action list icons + text are aligned
Browse files Browse the repository at this point in the history
  • Loading branch information
bitmold committed Mar 30, 2023
1 parent dae11ca commit 7f3b058
Show file tree
Hide file tree
Showing 5 changed files with 147 additions and 136 deletions.
11 changes: 7 additions & 4 deletions app/src/main/java/org/torproject/android/ConnectFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,11 @@ class ConnectFragment : Fragment(), ConnectionHelperCallbacks, ExitNodeDialogFra
fun stopTorAndVpn() {
sendIntentToService(OrbotConstants.ACTION_STOP)
sendIntentToService(OrbotConstants.ACTION_STOP_VPN)
stopAnimations()
}

private fun stopAnimations() {

}

fun sendNewnymSignal() {
Expand Down Expand Up @@ -170,13 +175,13 @@ class ConnectFragment : Fragment(), ConnectionHelperCallbacks, ExitNodeDialogFra
}

fun refreshMenuList (context: Context) {

val listItems = arrayListOf(OrbotMenuAction(R.string.btn_change_exit, 0) {openExitNodeDialog()},
OrbotMenuAction(R.string.btn_refresh, R.drawable.ic_refresh) {sendNewnymSignal()},
OrbotMenuAction(R.string.btn_tor_off, R.drawable.ic_power) {stopTorAndVpn()})
if (OrbotActivity.CAN_DO_APP_ROUTING && (!Prefs.isPowerUserMode())) listItems.add(0, OrbotMenuAction(R.string.btn_choose_apps, R.drawable.ic_choose_apps) {
startActivityForResult(Intent(requireActivity(), AppManagerActivity::class.java), OrbotActivity.REQUEST_VPN_APP_SELECT)
})
Toast.makeText(requireContext(), "Count ${listItems.size}", Toast.LENGTH_LONG).show()
lvConnectedActions.adapter = OrbotMenuActionAdapter(context, listItems)
}

Expand Down Expand Up @@ -249,9 +254,7 @@ class ConnectFragment : Fragment(), ConnectionHelperCallbacks, ExitNodeDialogFra

refreshMenuList(context)

ivOnion.setOnClickListener {
stopTorAndVpn()
}
ivOnion.setOnClickListener {}
}

fun doLayoutOff() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,26 +27,31 @@ class OrbotMenuActionAdapter(context: Context, list: ArrayList<OrbotMenuAction>)
val returnView = convertView ?: layoutInflater.inflate(R.layout.action_list_view, null)
getItem(position)?.let { model ->
val imgView = returnView.findViewById<ImageView>(R.id.ivAction)
val emojiContainer = returnView.findViewById<FrameLayout>(R.id.textContainer)
val tvAction = returnView.findViewById<TextView>(R.id.tvEmoji)
val hvApps = returnView.findViewById<HorizontalScrollView>(R.id.llBoxShortcuts)

if (model.imgId == R.drawable.ic_choose_apps) {
tvAction.visibility = View.GONE
imgView.visibility = View.VISIBLE
imgView.setImageResource(model.imgId)
drawAppShortcuts(hvApps)

} else if (model.imgId == 0) {
imgView.visibility = View.GONE
val currentExit = Prefs.getExitNodes().replace("{", "").replace("}", "")
if (currentExit.length == 2) tvAction.text =
Utils.convertCountryCodeToFlagEmoji(currentExit)
else tvAction.text = context.getString(R.string.globe)
tvAction.visibility = View.VISIBLE
} else {
tvAction.visibility = View.GONE
imgView.visibility = View.VISIBLE
imgView.setImageResource(model.imgId)
when (model.imgId) {
R.drawable.ic_choose_apps -> {
emojiContainer.visibility = View.GONE
imgView.visibility = View.VISIBLE
imgView.setImageResource(model.imgId)
drawAppShortcuts(hvApps)

}
0 -> {
imgView.visibility = View.GONE
val currentExit = Prefs.getExitNodes().replace("{", "").replace("}", "")
if (currentExit.length == 2) tvAction.text =
Utils.convertCountryCodeToFlagEmoji(currentExit)
else tvAction.text = context.getString(R.string.globe)
emojiContainer.visibility = View.VISIBLE
}
else -> {
emojiContainer.visibility = View.GONE
imgView.visibility = View.VISIBLE
imgView.setImageResource(model.imgId)
}
}
returnView.findViewById<TextView>(R.id.tvLabel).text = context.getString(model.textId)
returnView.setOnClickListener { model.action() }
Expand Down
26 changes: 17 additions & 9 deletions app/src/main/res/layout/action_list_view.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,23 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:id="@+id/ivAction"/>
<TextView

<FrameLayout
android:layout_margin="2dp"
android:visibility="gone"
android:textSize="20sp"
android:layout_gravity="center|left"
android:id="@+id/tvEmoji"
android:text="@string/globe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
android:id="@+id/textContainer"
android:layout_width="24dp"
android:layout_height="24dp">
<TextView
android:textAlignment="center"
android:textSize="19sp"
android:layout_gravity="center"
android:id="@+id/tvEmoji"
android:text="@string/globe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</FrameLayout>

</FrameLayout>


Expand All @@ -49,8 +58,7 @@
android:id="@+id/llBoxShortcuts"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="visible"
>
android:visibility="visible">
<LinearLayout
android:orientation="horizontal"
android:id="@+id/llBoxShortcutsInner"
Expand Down
205 changes: 100 additions & 105 deletions app/src/main/res/layout/fragment_connect.xml
Original file line number Diff line number Diff line change
@@ -1,120 +1,115 @@
<?xml version="1.0" encoding="utf-8"?>

<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">

<androidx.constraintlayout.widget.ConstraintLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:backgroundTint="@color/new_background">
<ProgressBar
tools:visibility="visible"
android:visibility="invisible"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/progressBar"
style="@android:style/Widget.DeviceDefault.ProgressBar.Horizontal"
tools:progress="33"
android:progressTint="@color/progress_bar_purple"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:backgroundTint="@color/new_background">
<ProgressBar
tools:visibility="visible"
android:visibility="invisible"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/progressBar"
style="@android:style/Widget.DeviceDefault.ProgressBar.Horizontal"
tools:progress="33"
android:progressTint="@color/progress_bar_purple"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="wrap_content"/>

<ImageView
android:id="@+id/ivStatus"
android:layout_width="148dp"
android:layout_height="166dp"
android:layout_marginTop="100dp"
android:src="@drawable/orbioff"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/progressBar" />
<ImageView
android:id="@+id/ivStatus"
android:layout_width="148dp"
android:layout_height="166dp"
android:layout_marginTop="100dp"
android:src="@drawable/orbioff"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/progressBar" />

<ImageView
android:id="@+id/ivShadow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:src="@drawable/orbieshadow"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ivStatus" />
<ImageView
android:id="@+id/ivShadow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="0dp"
android:src="@drawable/orbieshadow"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ivStatus" />

<TextView
android:layout_marginTop="16dp"
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ready to Connect"
android:textColor="@android:color/white"
android:textAppearance="@style/TextAppearance.Material3.HeadlineMedium"
android:fontFamily="sans-serif-black"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivShadow" />
<TextView
android:layout_marginTop="16dp"
android:id="@+id/tvTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ready to Connect"
android:textColor="@android:color/white"
android:textAppearance="@style/TextAppearance.Material3.HeadlineMedium"
android:fontFamily="sans-serif-black"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/ivShadow" />

<TextView
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvSubtitle"
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
android:text="@string/hide_apps"
android:textColor="@android:color/white"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
android:gravity="center_horizontal"
android:paddingLeft="@dimen/activity_horizontal_large_margin"
android:paddingRight="@dimen/activity_horizontal_large_margin" />
<TextView
android:textAlignment="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tvSubtitle"
android:textAppearance="@style/TextAppearance.Material3.BodyMedium"
android:text="@string/hide_apps"
android:textColor="@android:color/white"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvTitle"
android:gravity="center_horizontal"
android:paddingLeft="@dimen/activity_horizontal_large_margin"
android:paddingRight="@dimen/activity_horizontal_large_margin" />

<Button
tools:enabled="false"
android:background="@drawable/btn_shape_round"
android:backgroundTint="@color/orbot_btn_enabled_purple"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSubtitle"
android:maxLines="3"
android:text="@string/btn_start_vpn"
android:id="@+id/btnStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/button_horizontal_large_margin"
android:paddingRight="@dimen/button_horizontal_large_margin"
android:paddingTop="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_horizontal_margin" />
<Button
tools:enabled="false"
android:background="@drawable/btn_shape_round"
android:backgroundTint="@color/orbot_btn_enabled_purple"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tvSubtitle"
android:maxLines="3"
android:text="@string/btn_start_vpn"
android:id="@+id/btnStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/activity_horizontal_margin"
android:layout_marginBottom="@dimen/activity_horizontal_margin"
android:paddingLeft="@dimen/button_horizontal_large_margin"
android:paddingRight="@dimen/button_horizontal_large_margin"
android:paddingTop="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_horizontal_margin" />

<TextView
android:id="@+id/tvConfigure"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_configure"
android:layout_marginTop="24dp"
android:textAllCaps="true"
android:textAppearance="@style/TextAppearance.Material3.BodySmall" />
<TextView
android:id="@+id/tvConfigure"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/btnStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_configure"
android:layout_marginTop="24dp"
android:textAllCaps="true"
android:textAppearance="@style/TextAppearance.Material3.BodySmall" />

<ListView
android:drawSelectorOnTop="true"
android:layout_marginTop="10dp"
tools:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tvConfigure"
android:visibility="invisible"
android:dividerHeight="1dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lvConnected"/>
<ListView
android:drawSelectorOnTop="true"
android:layout_marginTop="10dp"
tools:visibility="gone"
app:layout_constraintTop_toBottomOf="@id/tvConfigure"
android:visibility="invisible"
android:dividerHeight="1dp"
android:layout_marginLeft="24dp"
android:layout_marginRight="24dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lvConnected"/>

</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>


</ScrollView>
2 changes: 1 addition & 1 deletion app/src/main/res/layout/layout_apps.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,5 +65,5 @@
android:horizontalSpacing="5dp"
android:numColumns="1"
android:verticalSpacing="15dp"/>

</LinearLayout>

0 comments on commit 7f3b058

Please sign in to comment.