Merge pull request #4872 from osmandapp/PaulsBranch
Added total sum to reports
This commit is contained in:
commit
d82e022750
3 changed files with 89 additions and 8 deletions
|
@ -274,6 +274,61 @@
|
||||||
android:layout_marginLeft="56dp"
|
android:layout_marginLeft="56dp"
|
||||||
android:background="?attr/dashboard_divider"/>
|
android:background="?attr/dashboard_divider"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:id="@+id/donationsTotal"
|
||||||
|
android:visibility="gone"
|
||||||
|
android:minHeight="60dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:minHeight="60dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/donationsTotalIcon"
|
||||||
|
android:layout_width="56dp"
|
||||||
|
android:layout_height="56dp"
|
||||||
|
android:scaleType="center"
|
||||||
|
android:src="@drawable/ic_action_bitcoin"/>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginRight="16dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/donationsTotalTitle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/total_donations"
|
||||||
|
android:textColor="?android:textColorSecondary"
|
||||||
|
android:textSize="@dimen/default_sub_text_size"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/donationsTotalTextView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="-"
|
||||||
|
android:textColor="?android:textColorPrimary"
|
||||||
|
android:textSize="@dimen/default_list_text_size"/>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="1dp"
|
||||||
|
android:layout_marginLeft="56dp"
|
||||||
|
android:background="?attr/dashboard_divider"/>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/numberOfRecipientsLayout"
|
android:id="@+id/numberOfRecipientsLayout"
|
||||||
android:background="?attr/selectableItemBackground"
|
android:background="?attr/selectableItemBackground"
|
||||||
|
|
|
@ -2823,4 +2823,5 @@
|
||||||
<string name="move_point">Move Point</string>
|
<string name="move_point">Move Point</string>
|
||||||
<string name="add_segment_to_the_track">Add to a GPX track</string>
|
<string name="add_segment_to_the_track">Add to a GPX track</string>
|
||||||
<string name="osm_recipients_label">OSM Recipients</string>
|
<string name="osm_recipients_label">OSM Recipients</string>
|
||||||
|
<string name="total_donations">Total Donations</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -18,6 +18,7 @@ import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
@ -72,11 +73,15 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
private ImageView numberOfEditsIcon;
|
private ImageView numberOfEditsIcon;
|
||||||
private ImageView donationsIcon;
|
private ImageView donationsIcon;
|
||||||
private ImageView numberOfRecipientsIcon;
|
private ImageView numberOfRecipientsIcon;
|
||||||
|
private ImageView donationsTotalIcon;
|
||||||
|
private TextView donationsTotalTitle;
|
||||||
|
private TextView donationsTotalTextView;
|
||||||
private TextView numberOfContributorsTitle;
|
private TextView numberOfContributorsTitle;
|
||||||
private TextView numberOfEditsTitle;
|
private TextView numberOfEditsTitle;
|
||||||
private TextView numberOfRecipientsTitle;
|
private TextView numberOfRecipientsTitle;
|
||||||
private TextView donationsTitle;
|
private TextView donationsTitle;
|
||||||
private ProgressBar progressBar;
|
private ProgressBar progressBar;
|
||||||
|
private LinearLayout donationsTotalLayout;
|
||||||
|
|
||||||
private int inactiveColor;
|
private int inactiveColor;
|
||||||
private int textColorPrimary;
|
private int textColorPrimary;
|
||||||
|
@ -159,9 +164,11 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
numberOfEditsIcon = (ImageView) view.findViewById(R.id.numberOfEditsIcon);
|
numberOfEditsIcon = (ImageView) view.findViewById(R.id.numberOfEditsIcon);
|
||||||
numberOfRecipientsIcon = (ImageView) view.findViewById(R.id.numberOfRecipientsIcon);
|
numberOfRecipientsIcon = (ImageView) view.findViewById(R.id.numberOfRecipientsIcon);
|
||||||
donationsIcon = (ImageView) view.findViewById(R.id.donationsIcon);
|
donationsIcon = (ImageView) view.findViewById(R.id.donationsIcon);
|
||||||
|
donationsTotalIcon = (ImageView) view.findViewById(R.id.donationsTotalIcon);
|
||||||
setThemedDrawable(numberOfContributorsIcon, R.drawable.ic_action_group2);
|
setThemedDrawable(numberOfContributorsIcon, R.drawable.ic_action_group2);
|
||||||
setThemedDrawable(numberOfRecipientsIcon, R.drawable.ic_group);
|
setThemedDrawable(numberOfRecipientsIcon, R.drawable.ic_group);
|
||||||
setThemedDrawable(donationsIcon, R.drawable.ic_action_bitcoin);
|
setThemedDrawable(donationsIcon, R.drawable.ic_action_bitcoin);
|
||||||
|
setThemedDrawable(donationsTotalIcon, R.drawable.ic_action_bitcoin);
|
||||||
setThemedDrawable(numberOfEditsIcon, R.drawable.ic_map);
|
setThemedDrawable(numberOfEditsIcon, R.drawable.ic_map);
|
||||||
|
|
||||||
|
|
||||||
|
@ -169,6 +176,10 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
numberOfEditsTitle = (TextView) view.findViewById(R.id.numberOfEditsTitle);
|
numberOfEditsTitle = (TextView) view.findViewById(R.id.numberOfEditsTitle);
|
||||||
donationsTitle = (TextView) view.findViewById(R.id.donationsTitle);
|
donationsTitle = (TextView) view.findViewById(R.id.donationsTitle);
|
||||||
numberOfRecipientsTitle = (TextView) view.findViewById(R.id.numberOfRecipientsTitle);
|
numberOfRecipientsTitle = (TextView) view.findViewById(R.id.numberOfRecipientsTitle);
|
||||||
|
donationsTotalLayout = (LinearLayout) view.findViewById(R.id.donationsTotal);
|
||||||
|
donationsTotalTitle = (TextView) view.findViewById(R.id.donationsTotalTitle);
|
||||||
|
donationsTotalTextView = (TextView) view.findViewById(R.id.donationsTotalTextView);
|
||||||
|
|
||||||
|
|
||||||
progressBar = (ProgressBar) view.findViewById(R.id.progress);
|
progressBar = (ProgressBar) view.findViewById(R.id.progress);
|
||||||
|
|
||||||
|
@ -207,7 +218,7 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
tryUpdateData(monthUrlString, countryUrlString);
|
tryUpdateData(monthUrlString, countryUrlString);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tryUpdateData(String monthUrlString, String regionUrlString) {
|
private void tryUpdateData(String monthUrlString, final String regionUrlString) {
|
||||||
GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse> onResponseListener =
|
GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse> onResponseListener =
|
||||||
new GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse>() {
|
new GetJsonAsyncTask.OnResponseListener<Protocol.TotalChangesByMonthResponse>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -255,24 +266,32 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
recipientsTextView.setText(String.valueOf(response.regionCount));
|
recipientsTextView.setText(String.valueOf(response.regionCount));
|
||||||
}
|
}
|
||||||
if (donationsTextView != null) {
|
if (donationsTextView != null) {
|
||||||
donationsTextView.setText(String.format("%.3f", response.regionBtc*1000.0) + " mBTC");
|
donationsTextView.setText(String.format("%.3f", response.regionBtc*1000f) + " mBTC");
|
||||||
|
}
|
||||||
|
if (donationsTotalLayout != null &&
|
||||||
|
donationsTotalTextView != null) {
|
||||||
|
donationsTotalLayout.setVisibility(regionUrlString.isEmpty() ? View.VISIBLE : View.GONE);
|
||||||
|
donationsTotalTextView.setText(String.format("%.3f", response.btc*1000f) + " mBTC");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disableProgress();
|
disableProgress();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
recChangesByMontAsyncTask.setOnResponseListener(recResponseListener);
|
recChangesByMontAsyncTask.setOnResponseListener(recResponseListener);
|
||||||
|
clearTextViewResult(recipientsTextView);
|
||||||
|
clearTextViewResult(donationsTextView);
|
||||||
|
clearTextViewResult(donationsTotalTextView);
|
||||||
|
|
||||||
if (recipientsTextView != null) {
|
|
||||||
recipientsTextView.setText("-");
|
|
||||||
}
|
|
||||||
if (donationsTextView != null) {
|
|
||||||
donationsTextView.setText("-");
|
|
||||||
}
|
|
||||||
String recfinalUrl = String.format(RECIPIENTS_BY_MONTH, monthUrlString, regionUrlString);
|
String recfinalUrl = String.format(RECIPIENTS_BY_MONTH, monthUrlString, regionUrlString);
|
||||||
recChangesByMontAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, recfinalUrl);
|
recChangesByMontAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, recfinalUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void clearTextViewResult(TextView textView) {
|
||||||
|
if (textView != null) {
|
||||||
|
textView.setText("-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSearchResult(CountryItem item) {
|
public void onSearchResult(CountryItem item) {
|
||||||
selectedCountryItem = item;
|
selectedCountryItem = item;
|
||||||
|
@ -368,16 +387,19 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
numberOfEditsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_map, inactiveColor));
|
numberOfEditsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_map, inactiveColor));
|
||||||
numberOfRecipientsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_group, inactiveColor));
|
numberOfRecipientsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_group, inactiveColor));
|
||||||
donationsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_bitcoin, inactiveColor));
|
donationsIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_bitcoin, inactiveColor));
|
||||||
|
donationsTotalIcon.setImageDrawable(getPaintedContentIcon(R.drawable.ic_action_bitcoin, inactiveColor));
|
||||||
|
|
||||||
numberOfContributorsTitle.setTextColor(inactiveColor);
|
numberOfContributorsTitle.setTextColor(inactiveColor);
|
||||||
numberOfEditsTitle.setTextColor(inactiveColor);
|
numberOfEditsTitle.setTextColor(inactiveColor);
|
||||||
numberOfRecipientsTitle.setTextColor(inactiveColor);
|
numberOfRecipientsTitle.setTextColor(inactiveColor);
|
||||||
donationsTitle.setTextColor(inactiveColor);
|
donationsTitle.setTextColor(inactiveColor);
|
||||||
|
donationsTotalTitle.setTextColor(inactiveColor);
|
||||||
|
|
||||||
progressBar.setVisibility(View.VISIBLE);
|
progressBar.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
contributorsTextView.setTextColor(inactiveColor);
|
contributorsTextView.setTextColor(inactiveColor);
|
||||||
donationsTextView.setTextColor(inactiveColor);
|
donationsTextView.setTextColor(inactiveColor);
|
||||||
|
donationsTotalTextView.setTextColor(inactiveColor);
|
||||||
recipientsTextView.setTextColor(inactiveColor);
|
recipientsTextView.setTextColor(inactiveColor);
|
||||||
editsTextView.setTextColor(inactiveColor);
|
editsTextView.setTextColor(inactiveColor);
|
||||||
}
|
}
|
||||||
|
@ -387,17 +409,20 @@ public class ReportsFragment extends BaseOsmAndFragment implements CountrySelect
|
||||||
numberOfEditsIcon.setImageDrawable(getContentIcon(R.drawable.ic_map));
|
numberOfEditsIcon.setImageDrawable(getContentIcon(R.drawable.ic_map));
|
||||||
numberOfRecipientsIcon.setImageDrawable(getContentIcon(R.drawable.ic_group));
|
numberOfRecipientsIcon.setImageDrawable(getContentIcon(R.drawable.ic_group));
|
||||||
donationsIcon.setImageDrawable(getContentIcon(R.drawable.ic_action_bitcoin));
|
donationsIcon.setImageDrawable(getContentIcon(R.drawable.ic_action_bitcoin));
|
||||||
|
donationsTotalIcon.setImageDrawable(getContentIcon(R.drawable.ic_action_bitcoin));
|
||||||
|
|
||||||
numberOfContributorsTitle.setTextColor(textColorSecondary);
|
numberOfContributorsTitle.setTextColor(textColorSecondary);
|
||||||
numberOfEditsTitle.setTextColor(textColorSecondary);
|
numberOfEditsTitle.setTextColor(textColorSecondary);
|
||||||
numberOfRecipientsTitle.setTextColor(textColorSecondary);
|
numberOfRecipientsTitle.setTextColor(textColorSecondary);
|
||||||
donationsTitle.setTextColor(textColorSecondary);
|
donationsTitle.setTextColor(textColorSecondary);
|
||||||
|
donationsTotalTitle.setTextColor(textColorSecondary);
|
||||||
|
|
||||||
progressBar.setVisibility(View.INVISIBLE);
|
progressBar.setVisibility(View.INVISIBLE);
|
||||||
|
|
||||||
contributorsTextView.setTextColor(textColorPrimary);
|
contributorsTextView.setTextColor(textColorPrimary);
|
||||||
editsTextView.setTextColor(textColorPrimary);
|
editsTextView.setTextColor(textColorPrimary);
|
||||||
donationsTextView.setTextColor(textColorPrimary);
|
donationsTextView.setTextColor(textColorPrimary);
|
||||||
|
donationsTotalTextView.setTextColor(textColorPrimary);
|
||||||
recipientsTextView.setTextColor(textColorPrimary);
|
recipientsTextView.setTextColor(textColorPrimary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue