From 1d37f94a7980d1181a49863cb3880bc7938cc6d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 22 Dec 2014 11:07:25 +0100 Subject: Set the adapter before calling ButterKnife. According to https://github.com/JakeWharton/butterknife/issues/167: "The view isn't set until onPostCreate. You need to either trigger layout creation by setting the adapter before calling ButterKnife or by moving the call to inject to onPostCreate." --- .../se/leap/bitmaskclient/ConfigurationWizard.java | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'app/src/release/java/se') diff --git a/app/src/release/java/se/leap/bitmaskclient/ConfigurationWizard.java b/app/src/release/java/se/leap/bitmaskclient/ConfigurationWizard.java index 73de29bc..3d9bb7b1 100644 --- a/app/src/release/java/se/leap/bitmaskclient/ConfigurationWizard.java +++ b/app/src/release/java/se/leap/bitmaskclient/ConfigurationWizard.java @@ -82,14 +82,6 @@ implements NewProviderDialogInterface, ProviderDetailFragmentInterface, Download private String progressbar_text = ""; private String provider_name = ""; private int progress = -1; - - private void initProviderList() { - List> prototypes = new ArrayList>(); - prototypes.add(new ProviderRenderer(this)); - ProviderRendererBuilder providerRendererBuilder = new ProviderRendererBuilder(prototypes); - adapter = new ProviderListAdapter(getLayoutInflater(), providerRendererBuilder, provider_manager); - provider_list_view.setAdapter(adapter); - } @Override protected void onSaveInstanceState(Bundle outState) { @@ -109,13 +101,13 @@ implements NewProviderDialogInterface, ProviderDetailFragmentInterface, Download preferences = getSharedPreferences(Dashboard.SHARED_PREFERENCES, MODE_PRIVATE); fragment_manager = new FragmentManagerEnhanced(getFragmentManager()); provider_manager = ProviderManager.getInstance(getAssets(), getExternalFilesDir(null)); + + setUpProviderList(); setUpInitialUI(); setUpProviderAPIResultReceiver(); - setUpProviderList(); - if ( savedInstanceState != null ) { restoreState(savedInstanceState); } @@ -147,6 +139,7 @@ implements NewProviderDialogInterface, ProviderDetailFragmentInterface, Download private void setUpInitialUI() { setContentView(R.layout.configuration_wizard_activity); ButterKnife.inject(this); + provider_list_view.setAdapter(adapter); hideProgressBar(); } @@ -176,6 +169,13 @@ implements NewProviderDialogInterface, ProviderDetailFragmentInterface, Download update_intent_filter.addCategory(Intent.CATEGORY_DEFAULT); registerReceiver(providerAPI_broadcast_receiver_update, update_intent_filter); } + + private void initProviderList() { + List> prototypes = new ArrayList>(); + prototypes.add(new ProviderRenderer(this)); + ProviderRendererBuilder providerRendererBuilder = new ProviderRendererBuilder(prototypes); + adapter = new ProviderListAdapter(getLayoutInflater(), providerRendererBuilder, provider_manager); + } @Override public void onReceiveResult(int resultCode, Bundle resultData) { -- cgit v1.2.3 From e4b49fb3cfb1e69cc4617bfcc5b20cbc22df4f8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parm=C3=A9nides=20GV?= Date: Mon, 22 Dec 2014 11:22:29 +0100 Subject: Check for null certificate on validCertificate --- .../java/se/leap/bitmaskclient/ProviderAPI.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'app/src/release/java/se') diff --git a/app/src/release/java/se/leap/bitmaskclient/ProviderAPI.java b/app/src/release/java/se/leap/bitmaskclient/ProviderAPI.java index 9d0b4db6..8b8cabdf 100644 --- a/app/src/release/java/se/leap/bitmaskclient/ProviderAPI.java +++ b/app/src/release/java/se/leap/bitmaskclient/ProviderAPI.java @@ -547,15 +547,19 @@ public class ProviderAPI extends IntentService { if(!ConfigHelper.checkErroneousDownload(cert_string)) { X509Certificate certificate = ConfigHelper.parseX509CertificateFromString(cert_string); try { - JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); - String fingerprint = provider_json.getString(Provider.CA_CERT_FINGERPRINT); - String encoding = fingerprint.split(":")[0]; - String expected_fingerprint = fingerprint.split(":")[1]; - String real_fingerprint = base64toHex(Base64.encodeToString( - MessageDigest.getInstance(encoding).digest(certificate.getEncoded()), - Base64.DEFAULT)); - - result = real_fingerprint.trim().equalsIgnoreCase(expected_fingerprint.trim()); + if(certificate != null) { + JSONObject provider_json = new JSONObject(preferences.getString(Provider.KEY, "")); + String fingerprint = provider_json.getString(Provider.CA_CERT_FINGERPRINT); + String encoding = fingerprint.split(":")[0]; + String expected_fingerprint = fingerprint.split(":")[1]; + String real_fingerprint = base64toHex(Base64.encodeToString( + MessageDigest.getInstance(encoding).digest(certificate.getEncoded()), + Base64.DEFAULT)); + + result = real_fingerprint.trim().equalsIgnoreCase(expected_fingerprint.trim()); + } + else + result = false; } catch (JSONException e) { result = false; } catch (NoSuchAlgorithmException e) { -- cgit v1.2.3