X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyCell.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacycell%2Factivities%2FProtocolsActivity.kt;fp=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacycell%2Factivities%2FProtocolsActivity.kt;h=1a926fe0770501e5536c6bfd51b09f332e076779;hp=0000000000000000000000000000000000000000;hb=dc76c6f07fd9a5718049d160e079842fa60ff406;hpb=2be052aa618f414a18d73f5075b3b3776180bee5 diff --git a/app/src/main/java/com/stoutner/privacycell/activities/ProtocolsActivity.kt b/app/src/main/java/com/stoutner/privacycell/activities/ProtocolsActivity.kt new file mode 100644 index 0000000..1a926fe --- /dev/null +++ b/app/src/main/java/com/stoutner/privacycell/activities/ProtocolsActivity.kt @@ -0,0 +1,146 @@ +/* + * Copyright © 2022 Soren Stoutner . + * + * This file is part of Privacy Cell . + * + * Privacy Cell is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Privacy Cell is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Privacy Cell. If not, see . + */ + +package com.stoutner.privacycell.activities + +import android.os.Bundle +import android.view.View +import android.widget.AdapterView +import android.widget.ListView +import android.widget.TextView + +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.Toolbar +import androidx.preference.PreferenceManager + +import com.stoutner.privacycell.R +import com.stoutner.privacycell.adapters.ProtocolArrayAdapter +import com.stoutner.privacycell.dialogs.WebViewDialog + +class ProtocolsActivity : AppCompatActivity() { + public override fun onCreate(savedInstanceState: Bundle?) { + // Run the default commands. + super.onCreate(savedInstanceState) + + // Get a handle for the shared preferences. + val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) + + // Get the bottom app bar preference. + val bottomAppBar = sharedPreferences.getBoolean(getString(R.string.bottom_app_bar_key), false) + + // Set the content view. + if (bottomAppBar) { + setContentView(R.layout.protocols_bottom_appbar) + } else { + setContentView(R.layout.protocols_top_appbar) + } + + // Get handles for the views. + val toolbar = findViewById(R.id.toolbar) + val listView = findViewById(R.id.listview) + + // Set the toolbar as the action bar. + setSupportActionBar(toolbar) + + // Get a handle for the action bar. + val actionBar = supportActionBar!! + + // Display the back arrow in the action bar. + actionBar.setDisplayHomeAsUpEnabled(true) + + // Create a protocol array list. + val protocolArrayList = ArrayList>() + + // Populate the protocol array list. Headers are followed by `true`. + protocolArrayList.add(Pair(getString(R.string.protocol_2g), true)) + protocolArrayList.add(Pair(getString(R.string.cdma_detail), false)) + protocolArrayList.add(Pair(getString(R.string.gsm_detail), false)) + protocolArrayList.add(Pair(getString(R.string.iden_detail), false)) + protocolArrayList.add(Pair(getString(R.string.gprs_detail), false)) + protocolArrayList.add(Pair(getString(R.string.edge_detail), false)) + + protocolArrayList.add(Pair(getString(R.string.protocol_3g), true)) + protocolArrayList.add(Pair(getString(R.string.rtt_detail), false)) + protocolArrayList.add(Pair(getString(R.string.evdo_0_detail), false)) + protocolArrayList.add(Pair(getString(R.string.evdo_a_detail), false)) + protocolArrayList.add(Pair(getString(R.string.evdo_b_detail), false)) + protocolArrayList.add(Pair(getString(R.string.ehrpd_detail), false)) + protocolArrayList.add(Pair(getString(R.string.umts_detail), false)) + protocolArrayList.add(Pair(getString(R.string.td_scdma_detail), false)) + protocolArrayList.add(Pair(getString(R.string.hsdpa_detail), false)) + protocolArrayList.add(Pair(getString(R.string.hsupa_detail), false)) + protocolArrayList.add(Pair(getString(R.string.hspa_detail), false)) + protocolArrayList.add(Pair(getString(R.string.hspap_detail), false)) + + protocolArrayList.add(Pair(getString(R.string.protocol_4g), true)) + protocolArrayList.add(Pair(getString(R.string.lte_detail), false)) + protocolArrayList.add(Pair(getString(R.string.lte_ca_detail), false)) + protocolArrayList.add(Pair(getString(R.string.lte_advanced_pro_detail), false)) + protocolArrayList.add(Pair(getString(R.string.nr_nsa_detail), false)) + protocolArrayList.add(Pair(getString(R.string.nr_nsa_mmwave_detail), false)) + + protocolArrayList.add(Pair(getString(R.string.protocol_5g), true)) + protocolArrayList.add(Pair(getString(R.string.nr_detail), false)) + protocolArrayList.add(Pair(getString(R.string.nr_advanced_detail), false)) + + protocolArrayList.add(Pair(getString(R.string.protocol_other), true)) + protocolArrayList.add(Pair(getString(R.string.iwlan_detail), false)) + + // Instantiate the protocol array adapter. + val protocolArrayAdapter = ProtocolArrayAdapter(this, protocolArrayList) + + // Set the list view adapter. + listView.adapter = protocolArrayAdapter + + // Listen for clicks on items in the list view. + listView.onItemClickListener = AdapterView.OnItemClickListener { _: AdapterView<*>?, view: View, _: Int, _: Long -> + // Get a handle for the text view. + val textview = view.findViewById(R.id.textview) + + // Show an alert dialog if a protocol item was selected. + when (textview.text) { + getString(R.string.gprs_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_GPRS) + getString(R.string.edge_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_EDGE) + getString(R.string.umts_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_UMTS) + getString(R.string.cdma_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_CDMA) + getString(R.string.evdo_0_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_EVDO_0) + getString(R.string.evdo_a_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_EVDO_A) + getString(R.string.rtt_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_1xRTT) + getString(R.string.hsdpa_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_HSDPA) + getString(R.string.hsupa_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_HSUPA) + getString(R.string.hspa_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_HSPA) + getString(R.string.iden_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_IDEN) + getString(R.string.evdo_b_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_EVDO_B) + getString(R.string.lte_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_LTE) + getString(R.string.ehrpd_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_EHRPD) + getString(R.string.hspap_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_HSPAP) + getString(R.string.gsm_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_GSM) + getString(R.string.td_scdma_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_TD_SCDMA) + getString(R.string.iwlan_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_IWLAN) + getString(R.string.nr_detail) -> WebViewDialog().type(WebViewDialog.NETWORK_NR) + getString(R.string.lte_ca_detail) -> WebViewDialog().type(WebViewDialog.OVERRIDE_NETWORK_LTE_CA) + getString(R.string.lte_advanced_pro_detail) -> WebViewDialog().type(WebViewDialog.OVERRIDE_NETWORK_LTE_ADVANCED_PRO) + getString(R.string.nr_nsa_detail) -> WebViewDialog().type(WebViewDialog.OVERRIDE_NETWORK_NR_NSA) + getString(R.string.nr_nsa_mmwave_detail) -> WebViewDialog().type(WebViewDialog.OVERRIDE_NETWORK_NR_NSA_MMWAVE) + getString(R.string.nr_advanced_detail) -> WebViewDialog().type(WebViewDialog.OVERRIDE_NETWORK_NR_ADVANCED) + else -> null + }?.show(supportFragmentManager, getString(R.string.protocols)) + } + } +} \ No newline at end of file