Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f3557beb authored by Abhishek Aggarwal's avatar Abhishek Aggarwal
Browse files

App Lounge: Properly build Dialog for trackers

parent 0a94b12c
Loading
Loading
Loading
Loading
+21 −27
Original line number Diff line number Diff line
@@ -18,16 +18,12 @@

package foundation.e.apps.application

import android.app.Dialog
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.text.Html
import android.text.method.LinkMovementMethod
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.Window
import android.widget.ImageView
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
@@ -46,7 +42,6 @@ import foundation.e.apps.api.cleanapk.CleanAPKInterface
import foundation.e.apps.api.fused.data.FusedApp
import foundation.e.apps.application.model.ApplicationScreenshotsRVAdapter
import foundation.e.apps.application.subFrags.ApplicationDialogFragment
import foundation.e.apps.databinding.DialogTrackersLayoutBinding
import foundation.e.apps.databinding.FragmentApplicationBinding
import foundation.e.apps.manager.pkg.PkgManagerModule
import foundation.e.apps.utils.enums.Origin
@@ -131,7 +126,8 @@ class ApplicationFragment : Fragment(R.layout.fragment_application) {
                        isEnabled = true
                        text = getString(R.string.open)
                        setTextColor(Color.WHITE)
                        backgroundTintList = ContextCompat.getColorStateList(view.context, R.color.colorAccent)
                        backgroundTintList =
                            ContextCompat.getColorStateList(view.context, R.color.colorAccent)
                        setOnClickListener {
                            startActivity(pkgManagerModule.getLaunchIntent(fusedApp.package_name))
                        }
@@ -141,7 +137,8 @@ class ApplicationFragment : Fragment(R.layout.fragment_application) {
                    installButton.apply {
                        text = getString(R.string.update)
                        setTextColor(Color.WHITE)
                        backgroundTintList = ContextCompat.getColorStateList(view.context, R.color.colorAccent)
                        backgroundTintList =
                            ContextCompat.getColorStateList(view.context, R.color.colorAccent)
                        setOnClickListener {
                            applicationIcon?.let {
                                mainActivityViewModel.getApplication(fusedApp, it)
@@ -306,30 +303,27 @@ class ApplicationFragment : Fragment(R.layout.fragment_application) {
                    ).show(childFragmentManager, TAG)
                }
                appTrackers.setOnClickListener {
                    showTrackerListDialog()
                }
            }
                    var trackers = applicationViewModel.getTrackerListText()

            fetchAppTracker()
        }
                    if (trackers.isNotEmpty()) {
                        trackers += "<br /> <br />" + getString(
                            R.string.privacy_computed_using_text,
                            EXODUS_URL
                        )
                    } else {
                        trackers = getString(R.string.no_tracker_found)
                    }

    private fun showTrackerListDialog() {
        val dialog = Dialog(requireContext())
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
        val dialogBinding =
            DialogTrackersLayoutBinding.inflate(LayoutInflater.from(requireContext()))
        dialog.setContentView(dialogBinding.root)
                    ApplicationDialogFragment(
                        R.drawable.ic_tracker,
                        getString(R.string.trackers_title),
                        trackers
                    ).show(childFragmentManager, TAG)

        val trackerListText = applicationViewModel.getTrackerListText()
        if (trackerListText.isNotEmpty()) {
            dialogBinding.trackersList.text = trackerListText
                }
        dialogBinding.privacyLinkText.movementMethod = LinkMovementMethod.getInstance()
        dialog.show()
            }

        dialogBinding.ok.setOnClickListener {
            dialog.dismiss()
            fetchAppTracker()
        }
    }

+1 −1
Original line number Diff line number Diff line
@@ -113,7 +113,7 @@ class ApplicationViewModel @Inject constructor(
    fun getTrackerListText(): String {
        fusedApp.value?.let {
            if (it.trackers.isNotEmpty()) {
                return it.trackers.joinToString(separator = "") { tracker -> tracker + "\n" }.trim()
                return it.trackers.joinToString(separator = "") { tracker -> "$tracker<br />" }
            }
        }
        return ""
+10 −0
Original line number Diff line number Diff line
<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,4.5C7,4.5 2.73,7.61 1,12c1.73,4.39 6,7.5 11,7.5s9.27,-3.11 11,-7.5c-1.73,-4.39 -6,-7.5 -11,-7.5zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3z"/>
</vector>
+0 −68
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textStyle="bold"
        android:textColor="@android:color/black"
        android:text="@string/trackers_title"
        android:layout_margin="20dp"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        />

    <TextView
        android:id="@+id/trackers_list"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textColor="@android:color/black"
        android:text="@string/no_tracker_found"
        app:layout_constraintTop_toBottomOf="@+id/title"
        app:layout_constraintLeft_toLeftOf="@+id/title"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginEnd="20dp"
        android:layout_marginTop="20dp"
        />
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        app:layout_constraintTop_toTopOf="parent"/>
    <TextView
        android:id="@+id/privacyLinkText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:text="@string/privacy_computed_using_text"
        android:linksClickable="true"
        android:textColor="@color/app_info_text_color_grey"
        app:layout_constraintTop_toBottomOf="@+id/trackers_list"
        app:layout_constraintLeft_toLeftOf="@id/trackers_list"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginEnd="20dp"
        android:layout_marginTop="20dp"
        />

    <TextView
        android:id="@+id/ok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="OK"
        android:textSize="18sp"
        android:textColor="@color/colorAccent"
        android:padding="10dp"
        android:layout_marginEnd="20dp"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="20dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/privacyLinkText"
        />

</androidx.constraintlayout.widget.ConstraintLayout>
+2 −2
Original line number Diff line number Diff line
@@ -128,8 +128,8 @@
    <string name="downloads">Downloads</string>
    <string name="updates">Updates</string>

<!--    trackers_dialog-->
    <string name="privacy_computed_using_text">Computed using <a href="https://exodus-privacy.eu.org/en/">Exodus Privacy Analysis</a></string>
    <!-- Trackers_dialog-->
    <string name="privacy_computed_using_text">Computed using &lt;a href="<xliff:g id="exodus">%1$s</xliff:g>"&gt; Exodus Privacy Analysis</string>
    <string name="no_tracker_found">No Tracker Found!</string>

</resources>
 No newline at end of file