diff options
106 files changed, 335 insertions, 673 deletions
diff --git a/app/build.gradle b/app/build.gradle index f8ee9d3a..34111828 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,7 +42,7 @@ android { buildConfigField "String", "customProviderIp", '""' buildConfigField "String", "customProviderApiIp", '""' - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" dexOptions { jumboMode true multiDexEnabled true @@ -297,9 +297,9 @@ dependencies { testImplementation group: 'com.tngtech.java', name: 'junit-dataprovider', version: '1.10.0' androidTestImplementation 'org.mockito:mockito-core:2.8.9' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-contrib:3.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-intents:3.0.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.0' //TODO: remove that library androidTestImplementation 'com.jayway.android.robotium:robotium-solo:5.6.3' testImplementation 'junit:junit:4.12' @@ -316,15 +316,16 @@ dependencies { implementation 'com.intellij:annotations:12.0' implementation 'com.google.code.gson:gson:2.8.2' implementation 'com.squareup.okhttp3:okhttp:3.9.0' - implementation "com.android.support:support-core-utils:28.0.0" - implementation 'com.android.support:support-annotations:28.0.0' - implementation 'com.android.support:support-v4:28.0.0' - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support:design:28.0.0' - implementation 'com.android.support:support-fragment:28.0.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.3' - implementation 'com.android.support:multidex:1.0.3' - implementation 'com.android.support:cardview-v7:28.0.0' + implementation 'androidx.legacy:legacy-support-core-utils:1.0.0' + implementation 'androidx.annotation:annotation:1.0.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.fragment:fragment:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + implementation 'androidx.multidex:multidex:2.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' implementation project(path: ':shapeshifter') } diff --git a/app/src/androidTest/assets/eip-service-test.json b/app/src/androidTest/assets/eip-service-test.json deleted file mode 100644 index 78b49bae..00000000 --- a/app/src/androidTest/assets/eip-service-test.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "gateways": [ - { - "capabilities": { - "adblock": false, - "filter_dns": false, - "limited": false, - "ports": [ - "443" - ], - "protocols": [ - "tcp", - "udp" - ], - "transport": [ - "openvpn" - ], - "user_ips": false - }, - "host": "millipede.demo.bitmask.net", - "ip_address": "198.252.153.84", - "location": "seattle__wa" - }, - { - "capabilities": { - "adblock": false, - "filter_dns": false, - "limited": false, - "ports": [ - "443" - ], - "protocols": [ - "tcp", - "udp" - ], - "transport": [ - "openvpn" - ], - "user_ips": false - }, - "host": "otter.demo.bitmask.net", - "ip_address": "46.165.242.169", - "location": "frankfurt" - } - ], - "locations": { - "frankfurt": { - "country_code": "DE", - "hemisphere": "N", - "name": "Frankfurt", - "timezone": "+1" - }, - "seattle__wa": { - "country_code": "US", - "hemisphere": "N", - "name": "Seattle, WA", - "timezone": "-7" - } - }, - "openvpn_configuration": { - "auth": "SHA1", - "cipher": "AES-128-CBC", - "keepalive": "10 30", - "tls-cipher": "DHE-RSA-AES128-SHA", - "tun-ipv6": true - }, - "serial": 1, - "version": 1 -}
\ No newline at end of file diff --git a/app/src/androidTest/assets/gateway.json b/app/src/androidTest/assets/gateway.json deleted file mode 100644 index 51a19ec9..00000000 --- a/app/src/androidTest/assets/gateway.json +++ /dev/null @@ -1 +0,0 @@ -{"location":"seattle__wa","ip_address":"198.252.153.84","capabilities":{"limited":false,"ports":["443"],"adblock":false,"transport":["openvpn"],"filter_dns":false,"protocols":["tcp","udp"],"user_ips":false},"host":"millipede.demo.bitmask.net"} diff --git a/app/src/androidTest/assets/riseup.net.json b/app/src/androidTest/assets/riseup.net.json deleted file mode 100644 index 9a5ec79e..00000000 --- a/app/src/androidTest/assets/riseup.net.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "api_uri": "https://api.black.riseup.net:443", - "api_version": "1", - "ca_cert_fingerprint": "SHA256: a5244308a1374709a9afce95e3ae47c1b44bc2398c0a70ccbf8b3a8a97f29494", - "ca_cert_uri": "https://black.riseup.net/ca.crt", - "default_language": "en", - "description": { - "en": "Riseup is a non-profit collective in Seattle that provides online communication tools for people and groups working toward liberatory social change." - }, - "domain": "riseup.net", - "enrollment_policy": "open", - "languages": [ - "en" - ], - "name": { - "en": "Riseup Networks" - }, - "service": { - "allow_anonymous": false, - "allow_free": true, - "allow_limited_bandwidth": false, - "allow_paid": false, - "allow_registration": true, - "allow_unlimited_bandwidth": true, - "bandwidth_limit": 102400, - "default_service_level": 1, - "levels": { - "1": { - "description": "Please donate.", - "name": "free" - } - } - }, - "services": [ - "openvpn" - ] -}
\ No newline at end of file diff --git a/app/src/androidTest/assets/riseup.net.pem b/app/src/androidTest/assets/riseup.net.pem deleted file mode 100644 index c890aff4..00000000 --- a/app/src/androidTest/assets/riseup.net.pem +++ /dev/null @@ -1,32 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIBATANBgkqhkiG9w0BAQ0FADBZMRgwFgYDVQQKDA9SaXNl -dXAgTmV0d29ya3MxGzAZBgNVBAsMEmh0dHBzOi8vcmlzZXVwLm5ldDEgMB4GA1UE -AwwXUmlzZXVwIE5ldHdvcmtzIFJvb3QgQ0EwHhcNMTQwNDI4MDAwMDAwWhcNMjQw -NDI4MDAwMDAwWjBZMRgwFgYDVQQKDA9SaXNldXAgTmV0d29ya3MxGzAZBgNVBAsM -Emh0dHBzOi8vcmlzZXVwLm5ldDEgMB4GA1UEAwwXUmlzZXVwIE5ldHdvcmtzIFJv -b3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC76J4ciMJ8Sg0m -TP7DF2DT9zNe0Csk4myoMFC57rfJeqsAlJCv1XMzBmXrw8wq/9z7XHv6n/0sWU7a -7cF2hLR33ktjwODlx7vorU39/lXLndo492ZBhXQtG1INMShyv+nlmzO6GT7ESfNE -LliFitEzwIegpMqxCIHXFuobGSCWF4N0qLHkq/SYUMoOJ96O3hmPSl1kFDRMtWXY -iw1SEKjUvpyDJpVs3NGxeLCaA7bAWhDY5s5Yb2fA1o8ICAqhowurowJpW7n5ZuLK -5VNTlNy6nZpkjt1QycYvNycffyPOFm/Q/RKDlvnorJIrihPkyniV3YY5cGgP+Qkx -HUOT0uLA6LHtzfiyaOqkXwc4b0ZcQD5Vbf6Prd20Ppt6ei0zazkUPwxld3hgyw58 -m/4UIjG3PInWTNf293GngK2Bnz8Qx9e/6TueMSAn/3JBLem56E0WtmbLVjvko+LF -PM5xA+m0BmuSJtrD1MUCXMhqYTtiOvgLBlUm5zkNxALzG+cXB28k6XikXt6MRG7q -hzIPG38zwkooM55yy5i1YfcIi5NjMH6A+t4IJxxwb67MSb6UFOwg5kFokdONZcwj -shczHdG9gLKSBIvrKa03Nd3W2dF9hMbRu//STcQxOailDBQCnXXfAATj9pYzdY4k -ha8VCAREGAKTDAex9oXf1yRuktES4QIDAQABo2AwXjAdBgNVHQ4EFgQUC4tdmLVu -f9hwfK4AGliaet5KkcgwDgYDVR0PAQH/BAQDAgIEMAwGA1UdEwQFMAMBAf8wHwYD -VR0jBBgwFoAUC4tdmLVuf9hwfK4AGliaet5KkcgwDQYJKoZIhvcNAQENBQADggIB -AGzL+GRnYu99zFoy0bXJKOGCF5XUXP/3gIXPRDqQf5g7Cu/jYMID9dB3No4Zmf7v -qHjiSXiS8jx1j/6/Luk6PpFbT7QYm4QLs1f4BlfZOti2KE8r7KRDPIecUsUXW6P/ -3GJAVYH/+7OjA39za9AieM7+H5BELGccGrM5wfl7JeEz8in+V2ZWDzHQO4hMkiTQ -4ZckuaL201F68YpiItBNnJ9N5nHr1MRiGyApHmLXY/wvlrOpclh95qn+lG6/2jk7 -3AmihLOKYMlPwPakJg4PYczm3icFLgTpjV5sq2md9bRyAg3oPGfAuWHmKj2Ikqch -Td5CHKGxEEWbGUWEMP0s1A/JHWiCbDigc4Cfxhy56CWG4q0tYtnc2GMw8OAUO6Wf -Xu5pYKNkzKSEtT/MrNJt44tTZWbKV/Pi/N2Fx36my7TgTUj7g3xcE9eF4JV2H/sg -tsK3pwE0FEqGnT4qMFbixQmc8bGyuakr23wjMvfO7eZUxBuWYR2SkcP26sozF9PF -tGhbZHQVGZUTVPyvwahMUEhbPGVerOW0IYpxkm0x/eaWdTc4vPpf/rIlgbAjarnJ -UN9SaWRlWKSdP4haujnzCoJbM7dU9bjvlGZNyXEekgeT0W2qFeGGp+yyUWw8tNsp -0BuC1b7uW/bBn/xKm319wXVDvBgZgcktMolak39V7DVO ------END CERTIFICATE-----
\ No newline at end of file diff --git a/app/src/androidTest/assets/secrets.json b/app/src/androidTest/assets/secrets.json deleted file mode 100644 index 36ba5977..00000000 --- a/app/src/androidTest/assets/secrets.json +++ /dev/null @@ -1 +0,0 @@ -{"ca_cert":"-----BEGIN CERTIFICATE-----\nMIIFbzCCA1egAwIBAgIBATANBgkqhkiG9w0BAQ0FADBKMRgwFgYDVQQDDA9CaXRt\nYXNrIFJvb3QgQ0ExEDAOBgNVBAoMB0JpdG1hc2sxHDAaBgNVBAsME2h0dHBzOi8v\nYml0bWFzay5uZXQwHhcNMTIxMTA2MDAwMDAwWhcNMjIxMTA2MDAwMDAwWjBKMRgw\nFgYDVQQDDA9CaXRtYXNrIFJvb3QgQ0ExEDAOBgNVBAoMB0JpdG1hc2sxHDAaBgNV\nBAsME2h0dHBzOi8vYml0bWFzay5uZXQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw\nggIKAoICAQC1eV4YvayaU+maJbWrD4OHo3d7S1BtDlcvkIRS1Fw3iYDjsyDkZxai\ndHp4EUasfNQ+EVtXUvtk6170EmLco6Elg8SJBQ27trE6nielPRPCfX3fQzETRfvB\n7tNvGw4Jn2YKiYoMD79kkjgyZjkJ2r\/bEHUSevmR09BRp86syHZerdNGpXYhcQ84\nCA1+V+603GFIHnrP+uQDdssW93rgDNYu+exT+Wj6STfnUkugyjmPRPjL7wh0tzy+\nznCeLl4xiV3g9sjPnc7r2EQKd5uaTe3j71sDPF92KRk0SSUndREz+B1+Dbe\/RGk4\nMEqGFuOzrtsgEhPIX0hplhb0Tgz\/rtug+yTT7oJjBa3u20AAOQ38\/M99EfdeJvc4\nlPFF1XBBLh6X9UKF72an2NuANiX6XPySnJgZ7nZ09RiYZqVwu\/qt3DfvLfhboq+0\nbQvLUPXrVDr70onv5UDjpmEA\/cLmaIqqrduuTkFZOym65\/PfAPvpGnt7crQj\/Ibl\nDEDYZQmP7AS+6zBjoOzNjUGE5r40zWAR1RSi7zliXTu+yfsjXUIhUAWmYR6J3KxB\nlfsiHBQ+8dn9kC3YrUexWoOqBiqJOAJzZh5Y1tqgzfh+2nmHSB2dsQRs7rDRRlyy\nYMbkpzL9ZsOUO2eTP1mmar6YjCN+rggYjRrX71K2SpBG6b1zZxOG+wIDAQABo2Aw\nXjAdBgNVHQ4EFgQUuYGDLL2sswnYpHHvProt1JU+D48wDgYDVR0PAQH\/BAQDAgIE\nMAwGA1UdEwQFMAMBAf8wHwYDVR0jBBgwFoAUuYGDLL2sswnYpHHvProt1JU+D48w\nDQYJKoZIhvcNAQENBQADggIBADeG67vaFcbITGpi51264kHPYPEWaXUa5XYbtmBl\ncXYyB6hY5hv\/YNuVGJ1gWsDmdeXEyj0j2icGQjYdHRfwhrbEri+h1EZOm1cSBDuY\nk\/P5+ctHyOXx8IE79DBsZ6IL61UKIaKhqZBfLGYcWu17DVV6+LT+AKtHhOrv3TSj\nRnAcKnCbKqXLhUPXpK0eTjPYS2zQGQGIhIy9sQXVXJJJsGrPgMxna1Xw2JikBOCG\nhtD\/JKwt6xBmNwktH0GI\/LVtVgSp82Clbn9C4eZN9E5YbVYjLkIEDhpByeC71QhX\nEIQ0ZR56bFuJA\/CwValBqV\/G9gscTPQqd+iETp8yrFpAVHOW+YzSFbxjTEkBte1J\naF0vmbqdMAWLk+LEFPQRptZh0B88igtx6tV5oVd+p5IVRM49poLhuPNJGPvMj99l\nmlZ4+AeRUnbOOeAEuvpLJbel4rhwFzmUiGoeTVoPZyMevWcVFq6BMkS+jRR2w0jK\nG6b0v5XDHlcFYPOgUrtsOBFJVwbutLvxdk6q37kIFnWCd8L3kmES5q4wjyFK47Co\nJa8zlx64jmMZPg\/t3wWqkZgXZ14qnbyG5\/lGsj5CwVtfDljrhN0oCWK1FZaUmW3d\n69db12\/g4f6phldhxiWuGC\/W6fCW5kre7nmhshcltqAJJuU47iX+DarBFiIj816e\nyV8e\n-----END CERTIFICATE-----\n","cert":"-----BEGIN CERTIFICATE-----\nMIIEjDCCAnSgAwIBAgIQG6MBp\/cd9DlY+7cdvp3R3jANBgkqhkiG9w0BAQsFADBmMRAwDgYDVQQK\nDAdCaXRtYXNrMRwwGgYDVQQLDBNodHRwczovL2JpdG1hc2submV0MTQwMgYDVQQDDCtCaXRtYXNr\nIFJvb3QgQ0EgKGNsaWVudCBjZXJ0aWZpY2F0ZXMgb25seSEpMB4XDTE0MTIwNTAwMDAwMFoXDTE1\nMDMwNTAwMDAwMFowLTErMCkGA1UEAwwiVU5MSU1JVEVEZDBwZDdkMzE4eTNtOHNkeXllaTFqYmZl\neDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANRNhZ4aCwdL5+OKObOKeI2rDqEwGnIr\nhL9wzo\/FXbwLfdW45Y9Mxwhh6xy2NkA1YUKCB8VNBKNXlBrGr1QriLbu1rItsJ2VVLqGluVV\/gO4\njcaPU+\/Wu0hMFKG28J\/dPvIGeNbjBWk6mxQAA5WIpRK9RTeQ88wVaGIZDDzIdivza2zpcyiPAyii\ndbkyXh7sLsKvbZB6wLrert6Y1ylR3SlkZP0LfdGAMAdkMyuXKOjgcSnUltR8HSBuZcSUlsTVM11n\nrYeGCYyPNNQ3UYatDW33UASgRDBorrmjhhKP7IW\/opdlnPk5ZrP3i0qI32\/boRe0EWZGXJvr4P3K\ndJ30uCECAwEAAaNvMG0wHQYDVR0OBBYEFK8bMVAM4GBB5sHptoIOAaIvlYueMAsGA1UdDwQEAwIH\ngDATBgNVHSUEDDAKBggrBgEFBQcDAjAJBgNVHRMEAjAAMB8GA1UdIwQYMBaAFId+E7bsWFsUWah9\nvZuPvZ7O+aJsMA0GCSqGSIb3DQEBCwUAA4ICAQAQOX81csVhvP422NKkZH7+g3npBpl+sEHedaGR\nxYPOu4HrA4TVF9h44sljRoRJyenGNdBZCXcLKHg889eePTf8Z5K3lTojp6hvwyA6tgxOMHT1kESW\nPfqnRw8mHfHJuE3g+4YNUMwggzwc\/VZATdV\/7M33sarVN9AUOHou9n9BizgCC+UnYlS+F2POumE3\nFbOhKo5uubI02MwBYlN2JVO2TBt1Q20w8wc6cU07Xi5Epp+1mkgFiOShkNtPcJmEyBWJhxDtSDOW\n2doqWYNqH2kq7B5R\/kyyfcpFJqAnBTV7xs+C5rTS1mW7LpxfdCUMbYuLCpyxpO3A\/DhAm8n47tUH\nlBtmo8Avdb8VdFpYiGBpB0o9kTFcsWFb2GkWFBduGfSEB8jUI7QtqhgZqocAKK\/cweSRV8FwyUcn\nR0prRm3QEi9fbXqEddzjSY9y\/lqWYzT7u+IOAQpKroeZ4wzgYperDNOUFuYk1rP7yuvjP2pV5rcN\nyPoBP60TPVWMRM4WJm6nTogAz2qBrFsf\/XwT\/ajzbsjT6HNB7QbRE+wkFkqspoXG5Agp7KQ8lW3L\nSKCDGOQJz7VIE85pD0tg7QEXBEw8oaRZtMjQ0Gvs25mxXAKka4wGasaWfYH6d0E+iKYcWn86V1rH\nK2ZoknT+Nno5jgjFuUR3fZseNizEfx7BteooKQ==\n-----END CERTIFICATE-----","Constants.PRIVATE_KEY":"-----BEGIN RSA PRIVATE KEY-----\nMIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDUTYWeGgsHS+fjijmziniNqw6h\nMBpyK4S\/cM6PxV28C33VuOWPTMcIYesctjZANWFCggfFTQSjV5Qaxq9UK4i27tayLbCdlVS6hpbl\nVf4DuI3Gj1Pv1rtITBShtvCf3T7yBnjW4wVpOpsUAAOViKUSvUU3kPPMFWhiGQw8yHYr82ts6XMo\njwMoonW5Ml4e7C7Cr22QesC63q7emNcpUd0pZGT9C33RgDAHZDMrlyjo4HEp1JbUfB0gbmXElJbE\n1TNdZ62HhgmMjzTUN1GGrQ1t91AEoEQwaK65o4YSj+yFv6KXZZz5OWaz94tKiN9v26EXtBFmRlyb\n6+D9ynSd9LghAgMBAAECggEBANPHLRXkhsHVj1EkzqBx7gXr8CEMmiTvknFh9zvltrZhhDoRQjWr\nchPDkcRHY2Cznvy4N0YyqQDD2ULIlZdSAgPxxothFoBruWSD47yMBmLx08ORsDpcqt\/YvPAATJI8\nIpFNsXcyaXBp\/M57oRemgnxp\/8UJPJmFdWX99H4hvffh\/jdj7POgYiWUaAl37XTYZKZ4nzKU2wpL\nEDLj9RKPz9gG7CYp2zrLC9LaAsrXVrKwPBw6g+XwbClaqFj97db3mrY4lr6mTo89qmus1AU+fBDH\n3Xlpmc8JwB+30TvhRNKrpLx9cEjuEj7K1gm8Y4dWCjPi+lNbtAyUBcgPJFa\/81ECgYEA7pLoBU\/Y\nZYjyHFca8FvDBcBh6haHfqJr9doXWtgjDrbi3o2n5wHqfKhFWOH6vPEQozkOVeX1ze6HOiRmGBpW\nr+r7x8TD25L7I6HJw3M351RWOAfkF0w\/RTVdetcTgduQtfN1u6BDhYSVceXMjyQYx7MhfETWI8Gh\nKSYm8OEDYiUCgYEA489fmbrCcUnXzpTsbswJ5NmSoEXbcX8cLxnQuzE0z9GHhQdrMjOpXR76reTW\n6jcuudarNcwRUYSWWhjCDKHhpx4HhasWPaHgr7jIzcRw8yZSJRSxKr8sl1qh6g7s47JcmfXOMWLt\nyuyE933XrT19Th4ODZHY40Uv35mPjMi9d00CgYEAyRNAQtndBRa7GG\/B4Ls2T+6pl+aNJIo4e+no\nrURlp800wWabEPRocdBRQmyULBLxduBr2LIMzhgwGSz8b2wji\/l9ZA3PFY135bxClVzSzUIjuO3N\nrGUzHl2wAAyuAFDSUshzfkPBJRNt8aVBF5PQ3t93ZYmPAmv8LPZe875yX5ECgYEAsUEcwK\/ZNW7g\ndQPZR4iJNkC4Xu6cBZ6Cnn92swBheEYvLSoNlX0vDZ7aLE3\/jzQqrjzC8NP8sbH5jtbuvgeDXZX3\nAmGRp5j6C6A61ihAPmEVz3ZfN8SSfJ3vl\/\/PAIg6lyz0J+cy4Q7RkwSeuVQ72Hl4M8TEvmmKC3Af\nispy6Y0CgYEAgl1o2lo+ACyk+oVQPaaPqK3d7WOBFp4eR2nXFor\/vsx9igQOlZUgzRDQsR8jo1o9\nefOSBf87igrZGgssys89pWa2dnXnz5PMmzkKr6bw4D9Ez6u6Puc9UZhGw\/8wDYg6fSosdB9utspm\nM698ycef7jBNMDgmhpSvfw5GctoNQ4s=\n-----END RSA PRIVATE KEY-----"} diff --git a/app/src/androidTest/java/se/leap/bitmaskclient/test/StartActivityDrawerTest.java b/app/src/androidTest/java/se/leap/bitmaskclient/test/StartActivityDrawerTest.java deleted file mode 100644 index 31247e0a..00000000 --- a/app/src/androidTest/java/se/leap/bitmaskclient/test/StartActivityDrawerTest.java +++ /dev/null @@ -1,181 +0,0 @@ -package se.leap.bitmaskclient.test; - -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.support.test.InstrumentationRegistry; -import android.support.test.espresso.contrib.DrawerActions; -import android.support.test.rule.ActivityTestRule; -import android.support.test.runner.AndroidJUnit4; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.runner.RunWith; - -import java.io.IOException; - -import se.leap.bitmaskclient.BuildConfig; -import se.leap.bitmaskclient.MainActivity; -import se.leap.bitmaskclient.Provider; -import se.leap.bitmaskclient.R; -import se.leap.bitmaskclient.testutils.TestSetupHelper; - -import static android.support.test.InstrumentationRegistry.getInstrumentation; -import static android.support.test.espresso.Espresso.onData; -import static android.support.test.espresso.Espresso.onView; -import static android.support.test.espresso.action.ViewActions.click; -import static android.support.test.espresso.assertion.ViewAssertions.matches; -import static android.support.test.espresso.contrib.DrawerMatchers.isClosed; -import static android.support.test.espresso.contrib.DrawerMatchers.isOpen; -import static android.support.test.espresso.matcher.RootMatchers.isDialog; -import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; -import static android.support.test.espresso.matcher.ViewMatchers.withId; -import static android.support.test.espresso.matcher.ViewMatchers.withText; -import static org.hamcrest.Matchers.anything; -import static se.leap.bitmaskclient.Constants.FIRST_TIME_USER_DATE; -import static se.leap.bitmaskclient.Constants.LAST_DONATION_REMINDER_DATE; -import static se.leap.bitmaskclient.Constants.SHARED_PREFERENCES; -import static se.leap.bitmaskclient.MainActivity.ACTION_SHOW_VPN_FRAGMENT; -import static se.leap.bitmaskclient.R.id.aboutLayout; -import static se.leap.bitmaskclient.R.id.accountList; -import static se.leap.bitmaskclient.R.id.drawer_layout; -import static se.leap.bitmaskclient.R.id.eipServiceFragment; -import static se.leap.bitmaskclient.R.id.log_layout; -import static se.leap.bitmaskclient.R.id.provider_list_layout; -import static se.leap.bitmaskclient.R.id.settingsList; - -/** - * Created by cyberta on 19.01.18. - */ - -@RunWith(AndroidJUnit4.class) -public class StartActivityDrawerTest { - - Intent intent; - SharedPreferences preferences; - SharedPreferences.Editor preferencesEditor; - - @Rule - public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>( - MainActivity.class, - true, - false); // Activity is not launched immediately - - @Before - public void setUp() throws IOException { - intent = new Intent(ACTION_SHOW_VPN_FRAGMENT); - Context context = getInstrumentation().getTargetContext(); - - preferences = context.getSharedPreferences(SHARED_PREFERENCES, Context.MODE_PRIVATE); - preferencesEditor = preferences.edit(); - preferencesEditor.putString(Provider.KEY, TestSetupHelper.getInputAsString(InstrumentationRegistry.getContext().getAssets().open("riseup.net.json"))) - .putString(Provider.CA_CERT, TestSetupHelper.getInputAsString(InstrumentationRegistry.getContext().getAssets().open("riseup.net.pem"))) - .putString(LAST_DONATION_REMINDER_DATE, null) - .putString(FIRST_TIME_USER_DATE, null).commit(); - - } - - - @Test - public void testDisplayDrawer_isOpenUntilUserManuallyOpendDrawerOnce() { - preferencesEditor.putBoolean("navigation_drawer_learned", false).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isOpen())); - onView(withId(drawer_layout)).perform(DrawerActions.close()); - mActivityRule.finishActivity(); - - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isOpen())); - onView(withId(drawer_layout)).perform(DrawerActions.close()); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - mActivityRule.finishActivity(); - - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - } - - @Test - public void testClickProviderName_closeDrawerAndShowEipFragment() throws InterruptedException { - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - onData(anything()).inAdapterView(withId(accountList)).atPosition(0).perform(click()); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(eipServiceFragment)).check(matches(isDisplayed())); - } - - @Test - public void testSaveBattery_closeDrawerAndShowSaveBatteryDialog() throws InterruptedException { - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - onData(anything()).inAdapterView(withId(settingsList)).atPosition(0).perform(click()); - onView(withText(R.string.save_battery_message)) - .inRoot(isDialog()) - .check(matches(isDisplayed())); - } - - @Test - public void testAlwaysOnVPN_closeDrawerAndShowDialog() throws InterruptedException { - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - onData(anything()).inAdapterView(withId(settingsList)).atPosition(1).perform(click()); - onView(withText(R.string.always_on_vpn_user_message)) - .inRoot(isDialog()) - .check(matches(isDisplayed())); - } - - @Test - public void testClickSwitchProvider_closeDrawerAndShowProviderListView() throws InterruptedException { - if (BuildConfig.FLAVOR_branding.equals("custom")) { - return; - } - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - - onData(anything()).inAdapterView(withId(settingsList)).atPosition(2).perform(click()); - onView(withId(provider_list_layout)).check(matches(isDisplayed())); - } - - @Test - public void testClickLog_closeDrawerAndShowLogFragment() throws InterruptedException { - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - - onData(anything()).inAdapterView(withId(settingsList)).atPosition(getPositionBasedOnFlavor(2, 3)).perform(click()); - onView(withId(log_layout)).check(matches(isDisplayed())); - } - - @Test - public void testClickAbout_closeDrawerAndShowAboutFragment() throws InterruptedException { - preferencesEditor.putBoolean("navigation_drawer_learned", true).commit(); - mActivityRule.launchActivity(intent); - onView(withId(drawer_layout)).check(matches(isClosed())); - onView(withId(drawer_layout)).perform(DrawerActions.open()); - onView(withId(drawer_layout)).check(matches(isOpen())); - onData(anything()).inAdapterView(withId(settingsList)).atPosition(getPositionBasedOnFlavor(4,5)).perform(click()); - onView(withId(aboutLayout)).check(matches(isDisplayed())); - } - - private int getPositionBasedOnFlavor(int custom, int defaultNumber) { - if (BuildConfig.FLAVOR_branding.equals("custom")) { - return custom; - } else { - return defaultNumber; - } - } -} diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderApiManager.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderApiManager.java index e86ab8ea..b67f6fa5 100644 --- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderApiManager.java +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderApiManager.java @@ -144,7 +144,7 @@ public class ProviderApiManager extends ProviderApiManagerBase { if(providerDefinition.length() == 0 || caCert.isEmpty()) providerDotJsonString = downloadWithCommercialCA(providerMainUrl + "/provider.json", dangerOn); else - providerDotJsonString = downloadFromApiUrlWithProviderCA("/provider.json", caCert, providerDefinition, dangerOn); + providerDotJsonString = downloadFromApiUrlWithProviderCA("/provider.json", caCert, provider, dangerOn); if (ConfigHelper.checkErroneousDownload(providerDotJsonString) || !isValidJson(providerDotJsonString)) { setErrorResult(result, malformed_url, null); @@ -291,10 +291,10 @@ public class ProviderApiManager extends ProviderApiManagerBase { return responseString; } - private String downloadFromApiUrlWithProviderCA(String path, String caCert, JSONObject providerDefinition, boolean dangerOn) { + private String downloadFromApiUrlWithProviderCA(String path, String caCert, Provider provider, boolean dangerOn) { String responseString; JSONObject errorJson = new JSONObject(); - String baseUrl = getApiUrl(providerDefinition); + String baseUrl = provider.getApiUrlString(); OkHttpClient okHttpClient = clientGenerator.initSelfSignedCAHttpClient(caCert, errorJson); if (okHttpClient == null) { return errorJson.toString(); diff --git a/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java b/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java index dfadaf05..d151c987 100644 --- a/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java +++ b/app/src/insecure/java/se/leap/bitmaskclient/ProviderListActivity.java @@ -17,7 +17,7 @@ package se.leap.bitmaskclient; import android.os.Bundle; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import static se.leap.bitmaskclient.Constants.DANGER_ON; import static se.leap.bitmaskclient.ProviderAPI.SET_UP_PROVIDER; diff --git a/app/src/main/java/de/blinkt/openvpn/VpnProfile.java b/app/src/main/java/de/blinkt/openvpn/VpnProfile.java index 50362085..519c2106 100644 --- a/app/src/main/java/de/blinkt/openvpn/VpnProfile.java +++ b/app/src/main/java/de/blinkt/openvpn/VpnProfile.java @@ -15,8 +15,8 @@ import android.os.Build; import android.preference.PreferenceManager; import android.security.KeyChain; import android.security.KeyChainException; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import android.text.TextUtils; import android.util.Base64; diff --git a/app/src/main/java/de/blinkt/openvpn/core/ConfigParser.java b/app/src/main/java/de/blinkt/openvpn/core/ConfigParser.java index 5ccd83dd..c6240bd0 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/ConfigParser.java +++ b/app/src/main/java/de/blinkt/openvpn/core/ConfigParser.java @@ -6,7 +6,7 @@ package de.blinkt.openvpn.core; import android.os.Build; -import android.support.v4.util.Pair; +import androidx.core.util.Pair; import android.text.TextUtils; import java.io.BufferedReader; diff --git a/app/src/main/java/de/blinkt/openvpn/core/ExtAuthHelper.java b/app/src/main/java/de/blinkt/openvpn/core/ExtAuthHelper.java index 166bce12..a62a4c62 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/ExtAuthHelper.java +++ b/app/src/main/java/de/blinkt/openvpn/core/ExtAuthHelper.java @@ -13,9 +13,9 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.*; import android.security.KeyChainException; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.WorkerThread; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.WorkerThread; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.SpinnerAdapter; diff --git a/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java b/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java index 0c54b050..860897db 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java +++ b/app/src/main/java/de/blinkt/openvpn/core/NetworkSpace.java @@ -6,7 +6,7 @@ package de.blinkt.openvpn.core; import android.os.Build; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import java.math.BigInteger; import java.net.Inet6Address; diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java index 67d3c4f2..61969769 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNService.java @@ -24,7 +24,7 @@ import android.os.IBinder; import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteException; -import android.support.annotation.RequiresApi; +import androidx.annotation.RequiresApi; import android.system.OsConstants; import android.text.TextUtils; import android.util.Log; diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java index b52e39a2..0f4d54b7 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVPNStatusService.java @@ -14,7 +14,7 @@ import android.os.Message; import android.os.ParcelFileDescriptor; import android.os.RemoteCallbackList; import android.os.RemoteException; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import android.util.Pair; import java.io.DataOutputStream; diff --git a/app/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java b/app/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java index 787d2b1b..00147828 100644 --- a/app/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java +++ b/app/src/main/java/de/blinkt/openvpn/core/OpenVpnManagementThread.java @@ -12,17 +12,15 @@ import android.net.LocalSocket; import android.net.LocalSocketAddress; import android.os.Build; import android.os.Handler; -import android.os.Looper; import android.os.ParcelFileDescriptor; -import android.support.annotation.NonNull; -import android.support.annotation.RequiresApi; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import android.system.Os; import android.util.Log; import de.blinkt.openvpn.core.connection.Connection; import se.leap.bitmaskclient.R; import de.blinkt.openvpn.VpnProfile; -import se.leap.bitmaskclient.utils.ConfigHelper; import java.io.FileDescriptor; import java.io.IOException; @@ -32,7 +30,6 @@ import java.lang.reflect.Method; import java.net.InetSocketAddress; import java.net.SocketAddress; import java.util.*; -import java.util.logging.Logger; public class OpenVpnManagementThread implements Runnable, OpenVPNManagement { diff --git a/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java b/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java index 28e5f5af..a9f156a2 100644 --- a/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/AbstractProviderDetailActivity.java @@ -2,11 +2,9 @@ package se.leap.bitmaskclient; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.Nullable; +import androidx.appcompat.widget.AppCompatTextView; import android.util.Log; -import android.view.View; -import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; diff --git a/app/src/main/java/se/leap/bitmaskclient/AddProviderBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/AddProviderBaseActivity.java index ca848f2e..e0bb0061 100644 --- a/app/src/main/java/se/leap/bitmaskclient/AddProviderBaseActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/AddProviderBaseActivity.java @@ -2,8 +2,8 @@ package se.leap.bitmaskclient; import android.content.Intent; import android.os.Bundle; -import android.support.design.widget.TextInputEditText; -import android.support.design.widget.TextInputLayout; +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; import android.text.Editable; import android.text.TextWatcher; import android.view.View; diff --git a/app/src/main/java/se/leap/bitmaskclient/BitmaskApp.java b/app/src/main/java/se/leap/bitmaskclient/BitmaskApp.java index 48910fb5..bde5114b 100644 --- a/app/src/main/java/se/leap/bitmaskclient/BitmaskApp.java +++ b/app/src/main/java/se/leap/bitmaskclient/BitmaskApp.java @@ -2,8 +2,8 @@ package se.leap.bitmaskclient; import android.content.Context; import android.content.SharedPreferences; -import android.support.multidex.MultiDexApplication; -import android.support.v7.app.AppCompatDelegate; +import androidx.multidex.MultiDexApplication; +import androidx.appcompat.app.AppCompatDelegate; import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.RefWatcher; diff --git a/app/src/main/java/se/leap/bitmaskclient/ButterKnifeActivity.java b/app/src/main/java/se/leap/bitmaskclient/ButterKnifeActivity.java index 41164463..0ef77e2b 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ButterKnifeActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/ButterKnifeActivity.java @@ -1,6 +1,6 @@ package se.leap.bitmaskclient; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import butterknife.ButterKnife; diff --git a/app/src/main/java/se/leap/bitmaskclient/ConfigWizardBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/ConfigWizardBaseActivity.java index 7aa50add..2d163859 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ConfigWizardBaseActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/ConfigWizardBaseActivity.java @@ -5,13 +5,13 @@ import android.graphics.PorterDuff; import android.graphics.Rect; import android.os.Build; import android.os.Bundle; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.constraint.ConstraintLayout; -import android.support.constraint.Guideline; -import android.support.v4.content.ContextCompat; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.constraintlayout.widget.Guideline; +import androidx.core.content.ContextCompat; +import androidx.appcompat.widget.AppCompatTextView; import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; diff --git a/app/src/main/java/se/leap/bitmaskclient/CustomProviderSetupActivity.java b/app/src/main/java/se/leap/bitmaskclient/CustomProviderSetupActivity.java index b3ee44ca..8f17d482 100644 --- a/app/src/main/java/se/leap/bitmaskclient/CustomProviderSetupActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/CustomProviderSetupActivity.java @@ -18,8 +18,8 @@ package se.leap.bitmaskclient; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import static se.leap.bitmaskclient.Constants.REQUEST_CODE_CONFIGURE_LEAP; import static se.leap.bitmaskclient.ProviderAPI.SET_UP_PROVIDER; diff --git a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java index a6f8040f..b8883f77 100644 --- a/app/src/main/java/se/leap/bitmaskclient/EipFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/EipFragment.java @@ -27,14 +27,14 @@ import android.graphics.ColorMatrixColorFilter; import android.os.Bundle; import android.os.IBinder; import android.os.Vibrator; -import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.AlertDialog; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.AppCompatImageView; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.NonNull; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatTextView; import android.text.TextUtils; import android.util.Log; import android.view.Gravity; diff --git a/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java b/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java index 84516ee3..ee7e7ef5 100644 --- a/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java +++ b/app/src/main/java/se/leap/bitmaskclient/EipSetupObserver.java @@ -6,7 +6,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.Bundle; -import android.support.v4.content.LocalBroadcastManager; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.util.Log; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java index d567277d..4d0d4785 100644 --- a/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java +++ b/app/src/main/java/se/leap/bitmaskclient/FragmentManagerEnhanced.java @@ -16,9 +16,9 @@ */ package se.leap.bitmaskclient; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentTransaction; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; public class FragmentManagerEnhanced { diff --git a/app/src/main/java/se/leap/bitmaskclient/LoginActivity.java b/app/src/main/java/se/leap/bitmaskclient/LoginActivity.java index 00ede1a6..15166c67 100644 --- a/app/src/main/java/se/leap/bitmaskclient/LoginActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/LoginActivity.java @@ -1,7 +1,7 @@ package se.leap.bitmaskclient; import android.os.Bundle; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import butterknife.OnClick; diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java index 39c4a8f1..4239a3e4 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivity.java @@ -20,12 +20,12 @@ package se.leap.bitmaskclient; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; -import android.support.annotation.StringRes; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatActivity; +import androidx.annotation.StringRes; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatActivity; import android.util.Log; import org.json.JSONException; diff --git a/app/src/main/java/se/leap/bitmaskclient/MainActivityErrorDialog.java b/app/src/main/java/se/leap/bitmaskclient/MainActivityErrorDialog.java index 4548e79e..7e9bad22 100644 --- a/app/src/main/java/se/leap/bitmaskclient/MainActivityErrorDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/MainActivityErrorDialog.java @@ -19,10 +19,10 @@ package se.leap.bitmaskclient; import android.app.Dialog; import android.content.Context; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v7.app.AlertDialog; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; +import androidx.appcompat.app.AlertDialog; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/OkHttpClientGenerator.java b/app/src/main/java/se/leap/bitmaskclient/OkHttpClientGenerator.java index 9d1168aa..7b9874e0 100644 --- a/app/src/main/java/se/leap/bitmaskclient/OkHttpClientGenerator.java +++ b/app/src/main/java/se/leap/bitmaskclient/OkHttpClientGenerator.java @@ -20,7 +20,7 @@ package se.leap.bitmaskclient; import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Build; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/Provider.java b/app/src/main/java/se/leap/bitmaskclient/Provider.java index 11d685f5..4dd7c76e 100644 --- a/app/src/main/java/se/leap/bitmaskclient/Provider.java +++ b/app/src/main/java/se/leap/bitmaskclient/Provider.java @@ -18,7 +18,7 @@ package se.leap.bitmaskclient; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.google.gson.Gson; @@ -30,8 +30,6 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.Locale; -import se.leap.bitmaskclient.utils.IPAddress; - import static de.blinkt.openvpn.core.connection.Connection.TransportType.OBFS4; import static se.leap.bitmaskclient.Constants.CAPABILITIES; import static se.leap.bitmaskclient.Constants.GATEWAYS; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderAPI.java b/app/src/main/java/se/leap/bitmaskclient/ProviderAPI.java index 0e27592b..57bea0d3 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderAPI.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderAPI.java @@ -20,7 +20,7 @@ import android.annotation.SuppressLint; import android.app.IntentService; import android.content.Intent; import android.content.SharedPreferences; -import android.support.v4.content.LocalBroadcastManager; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import static se.leap.bitmaskclient.Constants.SHARED_PREFERENCES; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderApiConnector.java b/app/src/main/java/se/leap/bitmaskclient/ProviderApiConnector.java index af79a95e..84f21343 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderApiConnector.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderApiConnector.java @@ -17,7 +17,7 @@ package se.leap.bitmaskclient; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.util.Pair; import java.io.IOException; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderApiManagerBase.java b/app/src/main/java/se/leap/bitmaskclient/ProviderApiManagerBase.java index 7577f098..1fb6bf48 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderApiManagerBase.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderApiManagerBase.java @@ -22,7 +22,7 @@ import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; import android.os.ResultReceiver; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.util.Base64; import android.util.Log; import android.util.Pair; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java index 55a1da93..c61caead 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderCredentialsBaseActivity.java @@ -23,13 +23,13 @@ import android.content.IntentFilter; import android.os.Build; import android.os.Build.VERSION_CODES; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.design.widget.TextInputEditText; -import android.support.design.widget.TextInputLayout; -import android.support.v4.content.LocalBroadcastManager; -import android.support.v7.widget.AppCompatButton; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import com.google.android.material.textfield.TextInputEditText; +import com.google.android.material.textfield.TextInputLayout; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; +import androidx.appcompat.widget.AppCompatButton; +import androidx.appcompat.widget.AppCompatTextView; import android.text.Editable; import android.text.Html; import android.text.TextWatcher; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderListBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/ProviderListBaseActivity.java index 56edd534..7c45c921 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderListBaseActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderListBaseActivity.java @@ -19,13 +19,11 @@ package se.leap.bitmaskclient; import android.content.Intent; import android.os.Bundle; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.widget.ListView; import com.pedrogomez.renderers.Renderer; -import java.net.MalformedURLException; -import java.net.URL; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java index ab165450..6d074a7a 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderManager.java @@ -1,7 +1,7 @@ package se.leap.bitmaskclient; import android.content.res.AssetManager; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import com.pedrogomez.renderers.AdapteeCollection; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderSetupBaseActivity.java b/app/src/main/java/se/leap/bitmaskclient/ProviderSetupBaseActivity.java index b1bb3b07..396b8b26 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderSetupBaseActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderSetupBaseActivity.java @@ -20,10 +20,10 @@ import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.content.LocalBroadcastManager; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.FragmentTransaction; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.util.Log; import org.jetbrains.annotations.NotNull; diff --git a/app/src/main/java/se/leap/bitmaskclient/ProviderSetupFailedDialog.java b/app/src/main/java/se/leap/bitmaskclient/ProviderSetupFailedDialog.java index e2f3e173..d64f34d8 100644 --- a/app/src/main/java/se/leap/bitmaskclient/ProviderSetupFailedDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/ProviderSetupFailedDialog.java @@ -21,9 +21,9 @@ import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.app.DialogFragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.DialogFragment; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/SignupActivity.java b/app/src/main/java/se/leap/bitmaskclient/SignupActivity.java index 4a16351a..abd3d224 100644 --- a/app/src/main/java/se/leap/bitmaskclient/SignupActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/SignupActivity.java @@ -17,8 +17,7 @@ package se.leap.bitmaskclient; import android.os.Bundle; -import android.support.annotation.Nullable; -import android.view.View; +import androidx.annotation.Nullable; import butterknife.OnClick; diff --git a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java index b89363b2..b6ace6db 100644 --- a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java @@ -21,8 +21,8 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; -import android.support.annotation.IntDef; -import android.support.annotation.Nullable; +import androidx.annotation.IntDef; +import androidx.annotation.Nullable; import android.util.Log; import java.lang.annotation.Retention; diff --git a/app/src/main/java/se/leap/bitmaskclient/VpnNotificationManager.java b/app/src/main/java/se/leap/bitmaskclient/VpnNotificationManager.java index b276a402..290a9aa9 100644 --- a/app/src/main/java/se/leap/bitmaskclient/VpnNotificationManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/VpnNotificationManager.java @@ -27,12 +27,11 @@ import android.graphics.Color; import android.graphics.Typeface; import android.os.Build; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.v4.app.NotificationCompat; -import android.support.v4.app.NotificationManagerCompat; +import androidx.annotation.NonNull; +import androidx.core.app.NotificationCompat; +import androidx.core.app.NotificationManagerCompat; import android.text.Spannable; import android.text.SpannableString; -import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.style.StyleSpan; import android.widget.RemoteViews; @@ -43,9 +42,9 @@ import de.blinkt.openvpn.core.OpenVPNService; import se.leap.bitmaskclient.eip.VoidVpnService; import static android.os.Build.VERSION_CODES.O; -import static android.support.v4.app.NotificationCompat.PRIORITY_HIGH; -import static android.support.v4.app.NotificationCompat.PRIORITY_MAX; -import static android.support.v4.app.NotificationCompat.PRIORITY_MIN; +import static androidx.core.app.NotificationCompat.PRIORITY_HIGH; +import static androidx.core.app.NotificationCompat.PRIORITY_MAX; +import static androidx.core.app.NotificationCompat.PRIORITY_MIN; import static android.text.TextUtils.isEmpty; import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_NONETWORK; import static de.blinkt.openvpn.core.ConnectionStatus.LEVEL_WAITING_FOR_USER_INPUT; diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java index 715d278d..fabaa7c3 100644 --- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java @@ -25,18 +25,18 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.support.v4.app.DialogFragment; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.view.GravityCompat; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBar; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.fragment.app.DialogFragment; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentTransaction; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EIP.java b/app/src/main/java/se/leap/bitmaskclient/eip/EIP.java index 1186b54f..511a33bc 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EIP.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EIP.java @@ -26,11 +26,11 @@ import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.os.ResultReceiver; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; -import android.support.annotation.WorkerThread; -import android.support.v4.app.JobIntentService; -import android.support.v4.content.LocalBroadcastManager; +import androidx.annotation.NonNull; +import androidx.annotation.StringRes; +import androidx.annotation.WorkerThread; +import androidx.core.app.JobIntentService; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.util.Log; import org.json.JSONException; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EipCommand.java b/app/src/main/java/se/leap/bitmaskclient/eip/EipCommand.java index d2667e42..1f5b3741 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EipCommand.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipCommand.java @@ -4,15 +4,13 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.ResultReceiver; -import android.support.annotation.NonNull; -import android.support.annotation.VisibleForTesting; -import android.support.v4.content.ContextCompat; +import androidx.annotation.NonNull; +import androidx.annotation.VisibleForTesting; +import androidx.core.content.ContextCompat; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import se.leap.bitmaskclient.Provider; - import static se.leap.bitmaskclient.Constants.EIP_ACTION_CHECK_CERT_VALIDITY; import static se.leap.bitmaskclient.Constants.EIP_ACTION_CONFIGURE_TETHERING; import static se.leap.bitmaskclient.Constants.EIP_ACTION_START; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EipResultBroadcast.java b/app/src/main/java/se/leap/bitmaskclient/eip/EipResultBroadcast.java index e1efb375..92d1338c 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EipResultBroadcast.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipResultBroadcast.java @@ -4,7 +4,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.os.ResultReceiver; -import android.support.v4.content.LocalBroadcastManager; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import android.util.Log; import static android.content.Intent.CATEGORY_DEFAULT; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java index 684bd646..ad84ec5a 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/EipStatus.java @@ -18,7 +18,7 @@ package se.leap.bitmaskclient.eip; import android.content.Context; import android.os.AsyncTask; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import android.util.Log; import java.util.Observable; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/Gateway.java b/app/src/main/java/se/leap/bitmaskclient/eip/Gateway.java index aae622b8..66c9fe84 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/Gateway.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/Gateway.java @@ -17,7 +17,7 @@ package se.leap.bitmaskclient.eip; import android.content.Context; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import com.google.gson.Gson; diff --git a/app/src/main/java/se/leap/bitmaskclient/eip/VpnConfigGenerator.java b/app/src/main/java/se/leap/bitmaskclient/eip/VpnConfigGenerator.java index 075aac71..08e219c7 100644 --- a/app/src/main/java/se/leap/bitmaskclient/eip/VpnConfigGenerator.java +++ b/app/src/main/java/se/leap/bitmaskclient/eip/VpnConfigGenerator.java @@ -16,7 +16,7 @@ */ package se.leap.bitmaskclient.eip; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import org.json.JSONArray; import org.json.JSONException; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/AboutFragment.java b/app/src/main/java/se/leap/bitmaskclient/fragments/AboutFragment.java index 1a2e2df0..b7743a75 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/AboutFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/AboutFragment.java @@ -3,7 +3,7 @@ package se.leap.bitmaskclient.fragments; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java index 09817b78..cb26e685 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/AlwaysOnDialog.java @@ -4,11 +4,11 @@ import android.app.Dialog; import android.content.Intent; import android.os.Build; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDialogFragment; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatDialogFragment; +import androidx.appcompat.widget.AppCompatTextView; import android.view.LayoutInflater; import android.view.View; import android.widget.CheckBox; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/DonationReminderDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/DonationReminderDialog.java index 66db9bc8..d2454d77 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/DonationReminderDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/DonationReminderDialog.java @@ -5,10 +5,10 @@ import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDialogFragment; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatDialogFragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/ExcludeAppsFragment.java b/app/src/main/java/se/leap/bitmaskclient/fragments/ExcludeAppsFragment.java index 9dc838c6..9559978b 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/ExcludeAppsFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/ExcludeAppsFragment.java @@ -11,7 +11,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/LogFragment.java b/app/src/main/java/se/leap/bitmaskclient/fragments/LogFragment.java index 64d199dc..19787dc3 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/LogFragment.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/LogFragment.java @@ -19,8 +19,8 @@ import android.os.Handler; import android.os.Handler.Callback; import android.os.Message; import android.preference.PreferenceManager; -import android.support.annotation.Nullable; -import android.support.v4.app.ListFragment; +import androidx.annotation.Nullable; +import androidx.fragment.app.ListFragment; import android.text.SpannableString; import android.text.format.DateFormat; import android.view.LayoutInflater; diff --git a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java index 77acb657..24e3c814 100644 --- a/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java +++ b/app/src/main/java/se/leap/bitmaskclient/fragments/TetheringDialog.java @@ -7,12 +7,12 @@ import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.provider.Settings; -import android.support.annotation.NonNull; -import android.support.v7.app.AlertDialog; -import android.support.v7.app.AppCompatDialogFragment; -import android.support.v7.widget.AppCompatTextView; -import android.support.v7.widget.LinearLayoutManager; -import android.support.v7.widget.RecyclerView; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AlertDialog; +import androidx.appcompat.app.AppCompatDialogFragment; +import androidx.appcompat.widget.AppCompatTextView; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.text.Spannable; import android.text.SpannableString; import android.text.method.LinkMovementMethod; diff --git a/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/Dispatcher.java b/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/Dispatcher.java index 8e787b57..210c94b6 100644 --- a/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/Dispatcher.java +++ b/app/src/main/java/se/leap/bitmaskclient/pluggableTransports/Dispatcher.java @@ -17,7 +17,7 @@ package se.leap.bitmaskclient.pluggableTransports; import android.content.Context; -import android.support.annotation.WorkerThread; +import androidx.annotation.WorkerThread; import android.text.TextUtils; import android.util.Log; diff --git a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java index 9bca25e9..a25f8c85 100644 --- a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java +++ b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringObservable.java @@ -16,7 +16,7 @@ */ package se.leap.bitmaskclient.tethering; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import java.util.Observable; diff --git a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringStateManager.java b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringStateManager.java index 0af4c357..44e9da6e 100644 --- a/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringStateManager.java +++ b/app/src/main/java/se/leap/bitmaskclient/tethering/TetheringStateManager.java @@ -18,7 +18,7 @@ package se.leap.bitmaskclient.tethering; import android.content.Context; import android.content.IntentFilter; -import android.support.annotation.VisibleForTesting; +import androidx.annotation.VisibleForTesting; import java.net.Inet4Address; import java.net.InterfaceAddress; diff --git a/app/src/main/java/se/leap/bitmaskclient/utils/Cmd.java b/app/src/main/java/se/leap/bitmaskclient/utils/Cmd.java index d033ed24..7b97add2 100644 --- a/app/src/main/java/se/leap/bitmaskclient/utils/Cmd.java +++ b/app/src/main/java/se/leap/bitmaskclient/utils/Cmd.java @@ -17,7 +17,7 @@ package se.leap.bitmaskclient.utils; -import android.support.annotation.WorkerThread; +import androidx.annotation.WorkerThread; import java.io.IOException; import java.io.InputStreamReader; diff --git a/app/src/main/java/se/leap/bitmaskclient/utils/ConfigHelper.java b/app/src/main/java/se/leap/bitmaskclient/utils/ConfigHelper.java index d4a640bb..2748c944 100644 --- a/app/src/main/java/se/leap/bitmaskclient/utils/ConfigHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/utils/ConfigHelper.java @@ -20,9 +20,9 @@ import android.content.Context; import android.content.res.Resources; import android.os.Build; import android.os.Looper; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/utils/PreferenceHelper.java b/app/src/main/java/se/leap/bitmaskclient/utils/PreferenceHelper.java index 238b00a1..669b7f8e 100644 --- a/app/src/main/java/se/leap/bitmaskclient/utils/PreferenceHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/utils/PreferenceHelper.java @@ -2,7 +2,7 @@ package se.leap.bitmaskclient.utils; import android.content.Context; import android.content.SharedPreferences; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/se/leap/bitmaskclient/utils/ViewHelper.java b/app/src/main/java/se/leap/bitmaskclient/utils/ViewHelper.java index 86af3479..5f4fc2a6 100644 --- a/app/src/main/java/se/leap/bitmaskclient/utils/ViewHelper.java +++ b/app/src/main/java/se/leap/bitmaskclient/utils/ViewHelper.java @@ -1,9 +1,8 @@ package se.leap.bitmaskclient.utils; import android.content.Context; -import android.content.res.Resources; -import android.support.annotation.DimenRes; -import android.util.DisplayMetrics; + +import androidx.annotation.DimenRes; /** * Created by cyberta on 29.06.18. diff --git a/app/src/main/java/se/leap/bitmaskclient/views/IconCheckboxEntry.java b/app/src/main/java/se/leap/bitmaskclient/views/IconCheckboxEntry.java index ca44592e..efe20b4c 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/IconCheckboxEntry.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/IconCheckboxEntry.java @@ -3,10 +3,10 @@ package se.leap.bitmaskclient.views; import android.annotation.TargetApi; import android.content.Context; import android.graphics.drawable.Drawable; -import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; -import android.support.v4.graphics.drawable.DrawableCompat; -import android.support.v7.widget.AppCompatImageView; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/se/leap/bitmaskclient/views/IconSwitchEntry.java b/app/src/main/java/se/leap/bitmaskclient/views/IconSwitchEntry.java index b41f3a50..c9b6024d 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/IconSwitchEntry.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/IconSwitchEntry.java @@ -4,16 +4,15 @@ import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; -import android.support.v7.widget.AppCompatImageView; -import android.support.v7.widget.SwitchCompat; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.appcompat.widget.SwitchCompat; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; import android.widget.CompoundButton; -import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; diff --git a/app/src/main/java/se/leap/bitmaskclient/views/IconTextEntry.java b/app/src/main/java/se/leap/bitmaskclient/views/IconTextEntry.java index cd151885..7a1717e9 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/IconTextEntry.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/IconTextEntry.java @@ -4,10 +4,10 @@ import android.annotation.TargetApi; import android.content.Context; import android.content.res.TypedArray; import android.graphics.drawable.Drawable; -import android.support.annotation.ColorRes; -import android.support.annotation.DrawableRes; -import android.support.annotation.Nullable; -import android.support.annotation.StringRes; +import androidx.annotation.ColorRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/se/leap/bitmaskclient/views/IconTextView.java b/app/src/main/java/se/leap/bitmaskclient/views/IconTextView.java index 0af33c68..29c70859 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/IconTextView.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/IconTextView.java @@ -4,7 +4,7 @@ package se.leap.bitmaskclient.views; import android.content.Context; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; -import android.support.v7.widget.AppCompatTextView; +import androidx.appcompat.widget.AppCompatTextView; import android.text.Spannable; import android.text.style.ImageSpan; import android.util.AttributeSet; diff --git a/app/src/main/java/se/leap/bitmaskclient/views/ProviderHeaderView.java b/app/src/main/java/se/leap/bitmaskclient/views/ProviderHeaderView.java index ab5d6bc8..4fa3771b 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/ProviderHeaderView.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/ProviderHeaderView.java @@ -1,11 +1,11 @@ package se.leap.bitmaskclient.views; import android.content.Context; -import android.support.annotation.DrawableRes; -import android.support.annotation.RequiresApi; -import android.support.annotation.StringRes; -import android.support.v7.widget.AppCompatImageView; -import android.support.v7.widget.AppCompatTextView; +import androidx.annotation.DrawableRes; +import androidx.annotation.RequiresApi; +import androidx.annotation.StringRes; +import androidx.appcompat.widget.AppCompatImageView; +import androidx.appcompat.widget.AppCompatTextView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/se/leap/bitmaskclient/views/VpnStateImage.java b/app/src/main/java/se/leap/bitmaskclient/views/VpnStateImage.java index 86761642..c0432edc 100644 --- a/app/src/main/java/se/leap/bitmaskclient/views/VpnStateImage.java +++ b/app/src/main/java/se/leap/bitmaskclient/views/VpnStateImage.java @@ -17,8 +17,8 @@ package se.leap.bitmaskclient.views; import android.content.Context; -import android.support.constraint.ConstraintLayout; -import android.support.v7.widget.AppCompatImageView; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.appcompat.widget.AppCompatImageView; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/res/layout-xlarge-port/a_add_provider.xml b/app/src/main/res/layout-xlarge-port/a_add_provider.xml index 67aef3d6..2ec2f1b7 100644 --- a/app/src/main/res/layout-xlarge-port/a_add_provider.xml +++ b/app/src/main/res/layout-xlarge-port/a_add_provider.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" style="@style/BitmaskActivity" @@ -7,35 +7,35 @@ android:layout_height="match_parent" tools:context=".ProviderCredentialsBaseActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.275" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -43,4 +43,4 @@ app:layout_constraintGuide_percent="0.725" /> <include layout="@layout/a_add_provider_tablet_scrollview"/> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-port/a_custom_provider_setup.xml b/app/src/main/res/layout-xlarge-port/a_custom_provider_setup.xml index f32cdd65..1f285968 100644 --- a/app/src/main/res/layout-xlarge-port/a_custom_provider_setup.xml +++ b/app/src/main/res/layout-xlarge-port/a_custom_provider_setup.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ android:layout_height="match_parent" tools:context=".CustomProviderSetupActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.275" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -45,4 +45,4 @@ <include layout="@layout/a_custom_provider_setup_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout-xlarge-port/a_provider_credentials.xml b/app/src/main/res/layout-xlarge-port/a_provider_credentials.xml index ab140a2e..73c2131c 100644 --- a/app/src/main/res/layout-xlarge-port/a_provider_credentials.xml +++ b/app/src/main/res/layout-xlarge-port/a_provider_credentials.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" style="@style/BitmaskActivity" @@ -7,35 +7,35 @@ android:layout_height="match_parent" tools:context=".ProviderCredentialsBaseActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.275" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -43,4 +43,4 @@ app:layout_constraintGuide_percent="0.725" /> <include layout="@layout/a_provider_credentials_tablet_linear_layout"/> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-port/a_provider_detail.xml b/app/src/main/res/layout-xlarge-port/a_provider_detail.xml index dac21eaf..cb2045c9 100644 --- a/app/src/main/res/layout-xlarge-port/a_provider_detail.xml +++ b/app/src/main/res/layout-xlarge-port/a_provider_detail.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ tools:context=".ProviderDetailActivity" style="@style/BitmaskActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.275" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -44,4 +44,4 @@ app:layout_constraintGuide_percent="0.725" /> <include layout="@layout/a_provider_detail_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge-port/a_provider_list.xml b/app/src/main/res/layout-xlarge-port/a_provider_list.xml index 61ea6882..94829b42 100644 --- a/app/src/main/res/layout-xlarge-port/a_provider_list.xml +++ b/app/src/main/res/layout-xlarge-port/a_provider_list.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ android:layout_height="match_parent" tools:context=".ProviderListActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.275" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -44,4 +44,4 @@ app:layout_constraintGuide_percent="0.725" /> <include layout="@layout/a_provider_list_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout-xlarge/a_add_provider.xml b/app/src/main/res/layout-xlarge/a_add_provider.xml index 4e6abd3d..8cfd43c5 100644 --- a/app/src/main/res/layout-xlarge/a_add_provider.xml +++ b/app/src/main/res/layout-xlarge/a_add_provider.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" style="@style/BitmaskActivity" @@ -7,35 +7,35 @@ android:layout_height="match_parent" tools:context=".ProviderCredentialsBaseActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.15" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -43,4 +43,4 @@ app:layout_constraintGuide_percent="0.85" /> <include layout="@layout/a_add_provider_tablet_scrollview"/> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge/a_custom_provider_setup.xml b/app/src/main/res/layout-xlarge/a_custom_provider_setup.xml index a6578c2a..7c9a1798 100644 --- a/app/src/main/res/layout-xlarge/a_custom_provider_setup.xml +++ b/app/src/main/res/layout-xlarge/a_custom_provider_setup.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ android:layout_height="match_parent" tools:context=".CustomProviderSetupActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.15" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -45,4 +45,4 @@ <include layout="@layout/a_custom_provider_setup_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout-xlarge/a_provider_credentials.xml b/app/src/main/res/layout-xlarge/a_provider_credentials.xml index 02ad25f9..2cf9e16a 100644 --- a/app/src/main/res/layout-xlarge/a_provider_credentials.xml +++ b/app/src/main/res/layout-xlarge/a_provider_credentials.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" style="@style/BitmaskActivity" @@ -7,35 +7,35 @@ android:layout_height="match_parent" tools:context=".ProviderCredentialsBaseActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.15" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -43,4 +43,4 @@ app:layout_constraintGuide_percent="0.85" /> <include layout="@layout/a_provider_credentials_tablet_linear_layout"/> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge/a_provider_detail.xml b/app/src/main/res/layout-xlarge/a_provider_detail.xml index 75aa8bbd..bead7d92 100644 --- a/app/src/main/res/layout-xlarge/a_provider_detail.xml +++ b/app/src/main/res/layout-xlarge/a_provider_detail.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ tools:context=".ProviderDetailActivity" style="@style/BitmaskActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.15" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -44,4 +44,4 @@ app:layout_constraintGuide_percent="0.85" /> <include layout="@layout/a_provider_detail_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout-xlarge/a_provider_list.xml b/app/src/main/res/layout-xlarge/a_provider_list.xml index 7bdcba9e..58d75246 100644 --- a/app/src/main/res/layout-xlarge/a_provider_list.xml +++ b/app/src/main/res/layout-xlarge/a_provider_list.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:id="@+id/provider_list_layout" @@ -8,35 +8,35 @@ android:layout_height="match_parent" tools:context=".ProviderListActivity"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="match_parent" android:layout_height="match_parent" app:srcCompat="@drawable/background_main" android:scaleType="centerCrop" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.15" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -44,4 +44,4 @@ app:layout_constraintGuide_percent="0.85" /> <include layout="@layout/a_provider_list_tablet_linear_layout" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout-xlarge/f_eip.xml b/app/src/main/res/layout-xlarge/f_eip.xml index 1c355d58..fdaab8ca 100644 --- a/app/src/main/res/layout-xlarge/f_eip.xml +++ b/app/src/main/res/layout-xlarge/f_eip.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<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" android:layout_width="match_parent" @@ -7,7 +7,7 @@ android:id="@+id/eipServiceFragment" > - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_horizontal_top" android:layout_width="0dp" android:layout_height="0dp" @@ -17,7 +17,7 @@ app:layout_constraintGuide_percent="0.3" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_vertical_left" android:layout_width="0dp" android:layout_height="0dp" @@ -27,7 +27,7 @@ /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_horizontal_bottom" android:layout_width="0dp" android:layout_height="0dp" @@ -37,7 +37,7 @@ app:layout_constraintGuide_percent="0.7" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_vertical_right" android:layout_width="0dp" android:layout_height="0dp" @@ -46,7 +46,7 @@ app:layout_constraintGuide_percent="0.7" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/background" android:layout_width="match_parent" android:layout_height="match_parent" @@ -54,7 +54,7 @@ app:srcCompat="@drawable/background_eip" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/eipLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -80,7 +80,7 @@ app:layout_constraintTop_toTopOf="@+id/guideline_horizontal_top" app:layout_constraintDimensionRatio="1:1" /> - <android.support.v7.widget.AppCompatButton + <androidx.appcompat.widget.AppCompatButton android:id="@+id/vpn_main_button" android:layout_width="wrap_content" android:layout_height="40dp" @@ -101,7 +101,7 @@ style="@style/BitmaskButtonBlack" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/routed_text" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -116,7 +116,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/eipLabel" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/vpn_route" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -129,4 +129,4 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/routed_text" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout-xlarge/v_loading_screen.xml b/app/src/main/res/layout-xlarge/v_loading_screen.xml index 2af6b411..a002665f 100644 --- a/app/src/main/res/layout-xlarge/v_loading_screen.xml +++ b/app/src/main/res/layout-xlarge/v_loading_screen.xml @@ -7,7 +7,7 @@ android:orientation="vertical" android:visibility="gone"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="32dp" android:layout_height="32dp" android:adjustViewBounds="true" @@ -17,7 +17,7 @@ android:layout_marginBottom="@dimen/loading_screen_icon_vertical_margin" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/progressbar_description" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout-xlarge/v_provider_header.xml b/app/src/main/res/layout-xlarge/v_provider_header.xml index cbd5813c..6d826783 100644 --- a/app/src/main/res/layout-xlarge/v_provider_header.xml +++ b/app/src/main/res/layout-xlarge/v_provider_header.xml @@ -4,14 +4,14 @@ android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" > - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/provider_header_logo" android:layout_width="@dimen/bitmask_logo" android:layout_height="@dimen/bitmask_logo" android:adjustViewBounds="true" app:srcCompat="@drawable/logo" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/provider_header_text" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout-xlarge/v_switch_list_item.xml b/app/src/main/res/layout-xlarge/v_switch_list_item.xml index 8ad83650..3fa2ac7d 100644 --- a/app/src/main/res/layout-xlarge/v_switch_list_item.xml +++ b/app/src/main/res/layout-xlarge/v_switch_list_item.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" > - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/material_icon" android:layout_width="?android:attr/listPreferredItemHeight" android:layout_height="?android:attr/listPreferredItemHeight" @@ -54,7 +54,7 @@ android:layout_toRightOf="@+id/material_icon" /> - <android.support.v7.widget.SwitchCompat + <androidx.appcompat.widget.SwitchCompat android:id="@+id/option_switch" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/a_add_provider.xml b/app/src/main/res/layout/a_add_provider.xml index c1322bef..eab1693e 100644 --- a/app/src/main/res/layout/a_add_provider.xml +++ b/app/src/main/res/layout/a_add_provider.xml @@ -23,7 +23,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - <android.support.design.widget.TextInputLayout + <com.google.android.material.textfield.TextInputLayout android:id="@+id/text_uri_error" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -31,14 +31,14 @@ android:hint="@string/new_provider_uri" app:errorEnabled="true"> - <android.support.design.widget.TextInputEditText + <com.google.android.material.textfield.TextInputEditText android:id="@+id/text_uri" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" /> - </android.support.design.widget.TextInputLayout> + </com.google.android.material.textfield.TextInputLayout> <RelativeLayout android:layout_width="match_parent" diff --git a/app/src/main/res/layout/a_add_provider_tablet_scrollview.xml b/app/src/main/res/layout/a_add_provider_tablet_scrollview.xml index 4510af7d..31c8d07c 100644 --- a/app/src/main/res/layout/a_add_provider_tablet_scrollview.xml +++ b/app/src/main/res/layout/a_add_provider_tablet_scrollview.xml @@ -28,7 +28,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - <android.support.design.widget.TextInputLayout + <com.google.android.material.textfield.TextInputLayout android:id="@+id/text_uri_error" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -36,14 +36,14 @@ android:hint="@string/new_provider_uri" app:errorEnabled="true"> - <android.support.design.widget.TextInputEditText + <com.google.android.material.textfield.TextInputEditText android:id="@+id/text_uri" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" /> - </android.support.design.widget.TextInputLayout> + </com.google.android.material.textfield.TextInputLayout> <RelativeLayout android:layout_width="match_parent" diff --git a/app/src/main/res/layout/a_main.xml b/app/src/main/res/layout/a_main.xml index 0344e5af..1977be74 100644 --- a/app/src/main/res/layout/a_main.xml +++ b/app/src/main/res/layout/a_main.xml @@ -1,5 +1,5 @@ <!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. --> -<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.drawerlayout.widget.DrawerLayout 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" android:id="@+id/drawer_layout" @@ -15,7 +15,7 @@ android:layout_height="match_parent" android:orientation="vertical"> - <android.support.v7.widget.Toolbar + <androidx.appcompat.widget.Toolbar android:id="@+id/toolbar" android:minHeight="?attr/actionBarSize" android:layout_width="match_parent" @@ -23,7 +23,7 @@ app:titleTextColor="@color/colorActionBarTitleFont" app:subtitleTextColor="@color/colorActionBarSubtitleFont" android:background="?attr/colorPrimary"> - </android.support.v7.widget.Toolbar> + </androidx.appcompat.widget.Toolbar> <FrameLayout android:id="@+id/main_container" @@ -40,4 +40,4 @@ android:layout_gravity="start" tools:layout="@layout/f_drawer_main" /> -</android.support.v4.widget.DrawerLayout> +</androidx.drawerlayout.widget.DrawerLayout> diff --git a/app/src/main/res/layout/a_provider_credentials.xml b/app/src/main/res/layout/a_provider_credentials.xml index 99287cfe..93f44208 100644 --- a/app/src/main/res/layout/a_provider_credentials.xml +++ b/app/src/main/res/layout/a_provider_credentials.xml @@ -37,7 +37,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - <android.support.v7.widget.AppCompatButton + <androidx.appcompat.widget.AppCompatButton android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/a_provider_credentials_tablet_linear_layout.xml b/app/src/main/res/layout/a_provider_credentials_tablet_linear_layout.xml index 486d0419..bf022d51 100644 --- a/app/src/main/res/layout/a_provider_credentials_tablet_linear_layout.xml +++ b/app/src/main/res/layout/a_provider_credentials_tablet_linear_layout.xml @@ -43,7 +43,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - <android.support.v7.widget.AppCompatButton + <androidx.appcompat.widget.AppCompatButton android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/a_provider_detail.xml b/app/src/main/res/layout/a_provider_detail.xml index 11f4957d..840d60df 100644 --- a/app/src/main/res/layout/a_provider_detail.xml +++ b/app/src/main/res/layout/a_provider_detail.xml @@ -20,7 +20,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/provider_detail_description" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/a_provider_detail_tablet_linear_layout.xml b/app/src/main/res/layout/a_provider_detail_tablet_linear_layout.xml index 14400672..51c5ab0f 100644 --- a/app/src/main/res/layout/a_provider_detail_tablet_linear_layout.xml +++ b/app/src/main/res/layout/a_provider_detail_tablet_linear_layout.xml @@ -28,7 +28,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content"/> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/provider_detail_description" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/d_checkbox_confirm.xml b/app/src/main/res/layout/d_checkbox_confirm.xml index a9a84c0e..b2b61eca 100644 --- a/app/src/main/res/layout/d_checkbox_confirm.xml +++ b/app/src/main/res/layout/d_checkbox_confirm.xml @@ -10,7 +10,7 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/tvTitle" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -36,7 +36,7 @@ android:textSize="17sp" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/block_vpn_user_message" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/d_list_selection.xml b/app/src/main/res/layout/d_list_selection.xml index ef963303..d9a1b013 100644 --- a/app/src/main/res/layout/d_list_selection.xml +++ b/app/src/main/res/layout/d_list_selection.xml @@ -10,7 +10,7 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/tvTitle" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -23,7 +23,7 @@ android:textStyle="bold" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/user_message" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -34,7 +34,7 @@ android:textSize="17sp" /> - <android.support.v7.widget.RecyclerView + <androidx.recyclerview.widget.RecyclerView android:id="@+id/selection_list_view" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/donation_reminder_dialog.xml b/app/src/main/res/layout/donation_reminder_dialog.xml index 7a41474a..dc16906b 100644 --- a/app/src/main/res/layout/donation_reminder_dialog.xml +++ b/app/src/main/res/layout/donation_reminder_dialog.xml @@ -32,7 +32,7 @@ android:gravity="center" android:text="@string/donate_message" /> - <android.support.v7.widget.CardView + <androidx.cardview.widget.CardView android:layout_width="120dp" android:layout_height="120dp" android:innerRadius="0dp" @@ -44,7 +44,7 @@ android:layout_height="match_parent" android:scaleType="centerCrop" app:srcCompat="@drawable/donation_img" /> - </android.support.v7.widget.CardView> + </androidx.cardview.widget.CardView> <Button diff --git a/app/src/main/res/layout/f_drawer_main.xml b/app/src/main/res/layout/f_drawer_main.xml index 7e6291b7..5a0977da 100644 --- a/app/src/main/res/layout/f_drawer_main.xml +++ b/app/src/main/res/layout/f_drawer_main.xml @@ -20,7 +20,7 @@ android:layout_width="match_parent" android:layout_height="150dp"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/background" android:layout_width="match_parent" android:layout_height="match_parent" @@ -29,7 +29,7 @@ android:scaleType="fitXY" app:srcCompat="@drawable/background_drawer" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/foreground" android:layout_width="match_parent" android:layout_height="match_parent" diff --git a/app/src/main/res/layout/f_eip.xml b/app/src/main/res/layout/f_eip.xml index 960c6fca..01feb0cd 100644 --- a/app/src/main/res/layout/f_eip.xml +++ b/app/src/main/res/layout/f_eip.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/eipServiceFragment"> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_horizontal_top" android:layout_width="0dp" android:layout_height="0dp" @@ -16,7 +16,7 @@ app:layout_constraintGuide_percent="0.225" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_vertical_left" android:layout_width="0dp" android:layout_height="0dp" @@ -26,7 +26,7 @@ /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_horizontal_bottom" android:layout_width="0dp" android:layout_height="0dp" @@ -36,7 +36,7 @@ app:layout_constraintGuide_percent="0.775" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline_vertical_right" android:layout_width="0dp" android:layout_height="0dp" @@ -45,7 +45,7 @@ app:layout_constraintGuide_percent="0.775" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/background" android:layout_width="match_parent" android:layout_height="match_parent" @@ -53,7 +53,7 @@ app:srcCompat="@drawable/background_eip" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/eipLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -82,7 +82,7 @@ app:layout_constraintDimensionRatio="1:1" /> - <android.support.v7.widget.AppCompatButton + <androidx.appcompat.widget.AppCompatButton android:id="@+id/vpn_main_button" android:layout_width="wrap_content" android:layout_height="32dp" @@ -103,7 +103,7 @@ style="@style/BitmaskButtonBlack" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/routed_text" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -119,7 +119,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/eipLabel" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/vpn_route" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -132,4 +132,4 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/routed_text" /> -</android.support.constraint.ConstraintLayout> +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/app/src/main/res/layout/v_add_provider.xml b/app/src/main/res/layout/v_add_provider.xml index 44146fb5..afcae4af 100644 --- a/app/src/main/res/layout/v_add_provider.xml +++ b/app/src/main/res/layout/v_add_provider.xml @@ -7,7 +7,7 @@ android:orientation="vertical" android:visibility="gone"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" @@ -17,7 +17,7 @@ android:layout_marginBottom="@dimen/loading_screen_icon_vertical_margin" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/progressbar_description" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/v_icon_select_text_list_item.xml b/app/src/main/res/layout/v_icon_select_text_list_item.xml index 2fa56b46..f38bac6e 100644 --- a/app/src/main/res/layout/v_icon_select_text_list_item.xml +++ b/app/src/main/res/layout/v_icon_select_text_list_item.xml @@ -5,7 +5,7 @@ android:orientation="horizontal" xmlns:tools="http://schemas.android.com/tools"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/material_icon" android:layout_width="?android:attr/listPreferredItemHeightSmall" android:layout_height="?android:attr/listPreferredItemHeightSmall" @@ -31,7 +31,7 @@ android:layout_toRightOf="@+id/material_icon" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/checked_icon" android:layout_width="?android:attr/listPreferredItemHeightSmall" android:layout_height="?android:attr/listPreferredItemHeightSmall" diff --git a/app/src/main/res/layout/v_loading_screen.xml b/app/src/main/res/layout/v_loading_screen.xml index f4c7eb95..a3498e97 100644 --- a/app/src/main/res/layout/v_loading_screen.xml +++ b/app/src/main/res/layout/v_loading_screen.xml @@ -7,7 +7,7 @@ android:orientation="vertical" android:visibility="gone"> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:adjustViewBounds="true" @@ -17,7 +17,7 @@ android:layout_marginBottom="@dimen/loading_screen_icon_vertical_margin" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/progressbar_description" android:layout_width="wrap_content" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/v_main_button.xml b/app/src/main/res/layout/v_main_button.xml index 06504f3c..d8ae211c 100644 --- a/app/src/main/res/layout/v_main_button.xml +++ b/app/src/main/res/layout/v_main_button.xml @@ -1,33 +1,33 @@ <?xml version="1.0" encoding="utf-8"?> -<android.support.constraint.ConstraintLayout +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto"> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/vpn_btn_guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.125" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/vpn_btn_guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.875" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/vpn_btn_guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.125" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/vpn_btn_guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -35,56 +35,56 @@ app:layout_constraintGuide_percent="0.875" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/icn_guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/icn_guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/icn_guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.2" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/icn_guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.8" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/border_guideline_left" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.025" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/border_guideline_right" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" app:layout_constraintGuide_percent="0.975" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/border_guideline_top" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintGuide_percent="0.025" /> - <android.support.constraint.Guideline + <androidx.constraintlayout.widget.Guideline android:id="@+id/border_guideline_bottom" android:layout_width="wrap_content" android:layout_height="wrap_content" @@ -109,7 +109,7 @@ android:indeterminateBehavior="cycle" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/circle" android:layout_width="0dp" android:layout_height="0dp" @@ -119,7 +119,7 @@ app:layout_constraintTop_toTopOf="@+id/vpn_btn_guideline_top" app:srcCompat="@drawable/black_circle" /> - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/vpn_state_key" android:layout_width="0dp" android:layout_height="0dp" @@ -129,4 +129,4 @@ app:layout_constraintTop_toTopOf="@id/icn_guideline_top" app:srcCompat="@drawable/vpn_connected" /> -</android.support.constraint.ConstraintLayout>
\ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/v_provider_credentials.xml b/app/src/main/res/layout/v_provider_credentials.xml index 65f554aa..be40c233 100644 --- a/app/src/main/res/layout/v_provider_credentials.xml +++ b/app/src/main/res/layout/v_provider_credentials.xml @@ -2,7 +2,7 @@ <merge xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/provider_credentials_user_message" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -11,7 +11,7 @@ android:linksClickable="true" /> - <android.support.design.widget.TextInputLayout + <com.google.android.material.textfield.TextInputLayout android:id="@+id/provider_credentials_username_error" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -20,16 +20,16 @@ android:layout_marginTop="@dimen/standard_margin" app:errorTextAppearance="@style/error_appearance"> - <android.support.design.widget.TextInputEditText + <com.google.android.material.textfield.TextInputEditText android:id="@+id/provider_credentials_username" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" /> - </android.support.design.widget.TextInputLayout> + </com.google.android.material.textfield.TextInputLayout> - <android.support.design.widget.TextInputLayout + <com.google.android.material.textfield.TextInputLayout android:id="@+id/provider_credentials_password_error" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -38,16 +38,16 @@ app:errorEnabled="true" app:errorTextAppearance="@style/error_appearance"> - <android.support.design.widget.TextInputEditText + <com.google.android.material.textfield.TextInputEditText android:id="@+id/provider_credentials_password" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" /> - </android.support.design.widget.TextInputLayout> + </com.google.android.material.textfield.TextInputLayout> - <android.support.design.widget.TextInputLayout + <com.google.android.material.textfield.TextInputLayout android:id="@+id/provider_credentials_password_verification_error" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -57,7 +57,7 @@ android:visibility="gone" app:errorTextAppearance="@style/error_appearance"> - <android.support.design.widget.TextInputEditText + <com.google.android.material.textfield.TextInputEditText android:id="@+id/provider_credentials_password_verification" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -65,5 +65,5 @@ android:visibility="gone" /> - </android.support.design.widget.TextInputLayout> + </com.google.android.material.textfield.TextInputLayout> </merge>
\ No newline at end of file diff --git a/app/src/main/res/layout/v_provider_header.xml b/app/src/main/res/layout/v_provider_header.xml index 823f3163..e0961ea6 100644 --- a/app/src/main/res/layout/v_provider_header.xml +++ b/app/src/main/res/layout/v_provider_header.xml @@ -4,14 +4,14 @@ android:layout_width="match_parent" xmlns:app="http://schemas.android.com/apk/res-auto" > - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/provider_header_logo" android:layout_width="@dimen/bitmask_logo" android:layout_height="@dimen/bitmask_logo" android:adjustViewBounds="true" app:srcCompat="@drawable/logo" /> - <android.support.v7.widget.AppCompatTextView + <androidx.appcompat.widget.AppCompatTextView android:id="@+id/provider_header_text" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/main/res/layout/v_switch_list_item.xml b/app/src/main/res/layout/v_switch_list_item.xml index 6a2e4a8d..b595e7ce 100644 --- a/app/src/main/res/layout/v_switch_list_item.xml +++ b/app/src/main/res/layout/v_switch_list_item.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" > - <android.support.v7.widget.AppCompatImageView + <androidx.appcompat.widget.AppCompatImageView android:id="@+id/material_icon" android:layout_width="?android:attr/listPreferredItemHeightSmall" android:layout_height="?android:attr/listPreferredItemHeightSmall" @@ -54,7 +54,7 @@ android:layout_toRightOf="@+id/material_icon" /> - <android.support.v7.widget.SwitchCompat + <androidx.appcompat.widget.SwitchCompat android:id="@+id/option_switch" android:layout_width="match_parent" android:layout_height="wrap_content" diff --git a/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java b/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java index 32c78c38..ed076d3f 100644 --- a/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java +++ b/app/src/production/java/se/leap/bitmaskclient/AddProviderActivity.java @@ -1,11 +1,6 @@ package se.leap.bitmaskclient; -import android.content.Intent; import android.os.Bundle; -import android.support.design.widget.TextInputEditText; -import android.support.design.widget.TextInputLayout; -import android.text.Editable; -import android.text.TextWatcher; import android.view.View; import android.widget.Button; diff --git a/app/src/production/java/se/leap/bitmaskclient/ProviderApiManager.java b/app/src/production/java/se/leap/bitmaskclient/ProviderApiManager.java index 6f1e3034..ceaeebc0 100644 --- a/app/src/production/java/se/leap/bitmaskclient/ProviderApiManager.java +++ b/app/src/production/java/se/leap/bitmaskclient/ProviderApiManager.java @@ -20,7 +20,7 @@ package se.leap.bitmaskclient; import android.content.SharedPreferences; import android.content.res.Resources; import android.os.Bundle; -import android.support.multidex.BuildConfig; +import androidx.multidex.BuildConfig; import android.util.Pair; import org.json.JSONException; diff --git a/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java b/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java index 7c617e29..cf327791 100644 --- a/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java +++ b/app/src/production/java/se/leap/bitmaskclient/ProviderListActivity.java @@ -16,7 +16,7 @@ */ package se.leap.bitmaskclient; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import static se.leap.bitmaskclient.ProviderAPI.SET_UP_PROVIDER; import static se.leap.bitmaskclient.ProviderSetupInterface.ProviderConfigState.SETTING_UP_PROVIDER; diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java index c0fc6531..1c205c83 100644 --- a/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java +++ b/app/src/test/java/se/leap/bitmaskclient/testutils/MockHelper.java @@ -9,7 +9,7 @@ import android.content.res.Resources; import android.os.Bundle; import android.os.Parcelable; import android.os.ResultReceiver; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import android.text.TextUtils; import org.json.JSONException; diff --git a/app/src/test/java/se/leap/bitmaskclient/testutils/MockSharedPreferences.java b/app/src/test/java/se/leap/bitmaskclient/testutils/MockSharedPreferences.java index af35af31..be0cf41f 100644 --- a/app/src/test/java/se/leap/bitmaskclient/testutils/MockSharedPreferences.java +++ b/app/src/test/java/se/leap/bitmaskclient/testutils/MockSharedPreferences.java @@ -18,7 +18,7 @@ package se.leap.bitmaskclient.testutils; import android.content.SharedPreferences; -import android.support.annotation.Nullable; +import androidx.annotation.Nullable; import java.util.HashMap; import java.util.Map; diff --git a/gradle.properties b/gradle.properties index 8fe20ee3..9a2223a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1,3 @@ +android.enableJetifier=true +android.useAndroidX=true org.gradle.jvmargs=-Xmx4096m |