summaryrefslogtreecommitdiff
path: root/src/se/leap/bitmaskclient
diff options
context:
space:
mode:
authorParménides GV <parmegv@sdf.org>2013-08-28 13:38:17 +0200
committercyBerta <richy@cyborgsociety.org>2013-11-15 23:25:16 +0100
commit6d5838ae7d1ffb022c28ce7d6a20a0045cb56e70 (patch)
treeaec085a7ac1bab6ac0fcb262a6b8ae980804a5d5 /src/se/leap/bitmaskclient
parent4c1752f5510c53496daa877bcc097eadbf23de4c (diff)
CW ProgressBar is translated below provider.
The progressbar does not show any message. The progressbar overlaps the next provider list item. This is the next issue to be fixed.
Diffstat (limited to 'src/se/leap/bitmaskclient')
-rw-r--r--src/se/leap/bitmaskclient/ConfigurationWizard.java93
1 files changed, 75 insertions, 18 deletions
diff --git a/src/se/leap/bitmaskclient/ConfigurationWizard.java b/src/se/leap/bitmaskclient/ConfigurationWizard.java
index fa944645..b1230932 100644
--- a/src/se/leap/bitmaskclient/ConfigurationWizard.java
+++ b/src/se/leap/bitmaskclient/ConfigurationWizard.java
@@ -31,15 +31,29 @@ import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.ProgressDialog;
+import android.content.Context;
import android.content.Intent;
import android.content.res.AssetManager;
import android.os.Bundle;
import android.os.Handler;
+import android.view.Display;
import android.view.Menu;
+<<<<<<< HEAD:src/se/leap/bitmaskclient/ConfigurationWizard.java
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ProgressBar;
+=======
import android.view.MenuItem;
import android.view.View;
+import android.view.View.MeasureSpec;
import android.view.ViewGroup;
+import android.view.WindowManager;
+import android.widget.ListAdapter;
+import android.widget.ListView;
import android.widget.ProgressBar;
+import android.widget.RelativeLayout;
+>>>>>>> 2e45441... CW ProgressBar is translated below provider.:src/se/leap/leapclient/ConfigurationWizard.java
/**
* Activity that builds and shows the list of known available providers.
@@ -118,14 +132,20 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn
ConfigHelper.saveSharedPref(ProviderItem.DANGER_ON, danger_on);
ConfigHelper.saveSharedPref(EIP.ALLOWED_ANON, provider_json.getJSONObject(Provider.SERVICE).getBoolean(EIP.ALLOWED_ANON));
mConfigState.setAction(PROVIDER_SET);
+
+ refreshProviderList(0);
- if(!mProgressBar.isShown())
- startProgressBar();
- mProgressBar.incrementProgressBy(1);
- if(resultData.containsKey(Provider.NAME))
- mSelectedProvider = getProvider(resultData.getString(Provider.NAME));
+ if(resultData.containsKey(Provider.NAME)) {
+ String provider_id = resultData.getString(Provider.NAME);
+ mSelectedProvider = getProvider(provider_id);
+
+ if(!mProgressBar.isShown()) {
+ int provider_index = getProviderIndex(provider_id);
+ startProgressBar(provider_index);
+ }
+ mProgressBar.incrementProgressBy(1);
+ }
- refreshProviderList(30);
downloadJSONFiles(mSelectedProvider);
} catch (JSONException e) {
// TODO Auto-generated catch block
@@ -159,13 +179,10 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn
}
else if(resultCode == ProviderAPI.INCORRECTLY_DOWNLOADED_JSON_FILES) {
//Toast.makeText(getApplicationContext(), R.string.incorrectly_downloaded_json_files_message, Toast.LENGTH_LONG).show();
-<<<<<<< HEAD:src/se/leap/bitmaskclient/ConfigurationWizard.java
String reason_to_fail = resultData.getString(ProviderAPI.ERRORS);
showDownloadFailedDialog(getCurrentFocus(), reason_to_fail);
-=======
refreshProviderList(0);
mProgressBar.setVisibility(ProgressBar.GONE);
->>>>>>> ed8ca1d... Added a progressbar to ConfigurationWizard.:src/se/leap/leapclient/ConfigurationWizard.java
setResult(RESULT_CANCELED, mConfigState);
}
else if(resultCode == ProviderAPI.CORRECTLY_DOWNLOADED_CERTIFICATE) {
@@ -181,14 +198,6 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn
setResult(RESULT_CANCELED, mConfigState);
}
}
-
- private void startProgressBar() {
- FragmentManager fragmentManager = getFragmentManager();
- fragmentManager.findFragmentByTag(getResources().getString(R.string.provider_list_fragment_tag)).getView().setPadding(8, 30, 8, 0);
- mProgressBar.setVisibility(ProgressBar.VISIBLE);
- mProgressBar.setProgress(0);
- mProgressBar.setMax(3);
- }
/**
* Callback method from {@link ProviderListFragment.Callbacks}
@@ -198,7 +207,8 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn
public void onItemSelected(String id) {
//TODO Code 2 pane view
ProviderItem selected_provider = getProvider(id);
- startProgressBar();
+ int provider_index = getProviderIndex(id);
+ startProgressBar(provider_index);
mSelectedProvider = selected_provider;
saveProviderJson(mSelectedProvider);
}
@@ -234,6 +244,53 @@ implements ProviderListFragment.Callbacks, NewProviderDialog.NewProviderDialogIn
return null;
}
+ private void startProgressBar() {
+ mProgressBar.setVisibility(ProgressBar.VISIBLE);
+ mProgressBar.setProgress(0);
+ mProgressBar.setMax(3);
+ }
+
+ private void startProgressBar(int list_item_index) {
+ mProgressBar.setVisibility(ProgressBar.VISIBLE);
+ mProgressBar.setProgress(0);
+ mProgressBar.setMax(3);
+ int measured_height = listItemHeight(list_item_index);
+ mProgressBar.setTranslationY(measured_height*list_item_index);
+ }
+
+ private int getProviderIndex(String id) {
+ int index = 0;
+ Iterator<ProviderItem> providers_iterator = ProviderListContent.ITEMS.iterator();
+ while(providers_iterator.hasNext()) {
+ ProviderItem provider = providers_iterator.next();
+ index++;
+ if(provider.id.equalsIgnoreCase(id)) {
+ break;
+ }
+ }
+ return index;
+ }
+
+ private int listItemHeight(int list_item_index) {
+ ListView provider_list_view = (ListView)findViewById(android.R.id.list);
+ ListAdapter provider_list_adapter = provider_list_view.getAdapter();
+ View listItem = provider_list_adapter.getView(0, null, provider_list_view);
+ listItem.setLayoutParams(new RelativeLayout.LayoutParams(
+ RelativeLayout.LayoutParams.WRAP_CONTENT,
+ RelativeLayout.LayoutParams.WRAP_CONTENT));
+ WindowManager wm = (WindowManager) getApplicationContext()
+ .getSystemService(Context.WINDOW_SERVICE);
+ Display display = wm.getDefaultDisplay();
+ int screenWidth = display.getWidth(); // deprecated
+
+ int listViewWidth = screenWidth - 10 - 10;
+ int widthSpec = MeasureSpec.makeMeasureSpec(listViewWidth,
+ MeasureSpec.AT_MOST);
+ listItem.measure(widthSpec, 0);
+
+ return listItem.getMeasuredHeight();
+}
+
/**
* Loads providers data from url file contained in the project
* @return true if the file was read correctly