Navbar for summary activity
This commit is contained in:
parent
7bd7d360d6
commit
3cb139390c
@ -33,6 +33,7 @@ dependencies {
|
||||
implementation 'com.android.support:palette-v7:26.1.0'
|
||||
implementation 'com.android.support:recyclerview-v7:26.1.0'
|
||||
implementation 'com.daimajia.swipelayout:library:1.2.0@aar'
|
||||
implementation 'com.github.armcha:SpaceNavigationView:1.6.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.1'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
|
||||
|
@ -16,7 +16,6 @@ import android.support.design.widget.Snackbar;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.graphics.Palette;
|
||||
import android.support.v7.widget.CardView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
@ -31,6 +30,9 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.luseen.spacenavigation.SpaceItem;
|
||||
import com.luseen.spacenavigation.SpaceNavigationView;
|
||||
import com.luseen.spacenavigation.SpaceOnClickListener;
|
||||
import com.nauk.coinfolio.DataManagers.BalanceManager;
|
||||
import com.nauk.coinfolio.DataManagers.CurrencyData.Currency;
|
||||
import com.nauk.coinfolio.LayoutManagers.HomeLayoutGenerator;
|
||||
@ -81,14 +83,14 @@ public class HomeActivity extends AppCompatActivity {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.navigation_something:
|
||||
|
||||
((FloatingActionButton) findViewById(R.id.floatingAddButton)).hide();
|
||||
//((FloatingActionButton) findViewById(R.id.floatingAddButton)).hide();
|
||||
return true;
|
||||
case R.id.navigation_view_list:
|
||||
((FloatingActionButton) findViewById(R.id.floatingAddButton)).show();
|
||||
//((FloatingActionButton) findViewById(R.id.floatingAddButton)).show();
|
||||
//viewFlipper.setDisplayedChild(1);
|
||||
return true;
|
||||
case R.id.navigation_market_cap:
|
||||
((FloatingActionButton) findViewById(R.id.floatingAddButton)).hide();
|
||||
//((FloatingActionButton) findViewById(R.id.floatingAddButton)).hide();
|
||||
//viewFlipper.setDisplayedChild(2);
|
||||
return true;
|
||||
}
|
||||
@ -142,7 +144,7 @@ public class HomeActivity extends AppCompatActivity {
|
||||
toolbarSubtitle = findViewById(R.id.toolbarSubtitle);
|
||||
currencyLayout = findViewById(R.id.currencyListLayout);
|
||||
|
||||
ImageButton addCurrencyButton = findViewById(R.id.addCurrencyButton);
|
||||
ImageButton addCurrencyButton = findViewById(R.id.floatingAddButton);
|
||||
ImageButton detailsButton = findViewById(R.id.switch_button);
|
||||
ImageButton settingsButton = findViewById(R.id.settings_button);
|
||||
|
||||
@ -205,6 +207,49 @@ public class HomeActivity extends AppCompatActivity {
|
||||
updateViewButtonIcon();
|
||||
|
||||
lastTimestamp = 0;
|
||||
|
||||
setupNavBar(savedInstanceState);
|
||||
}
|
||||
|
||||
private void setupNavBar(Bundle savedInstanceState)
|
||||
{
|
||||
final SpaceNavigationView spaceNavigationView = (SpaceNavigationView) findViewById(R.id.space);
|
||||
spaceNavigationView.initWithSaveInstanceState(savedInstanceState);
|
||||
spaceNavigationView.addSpaceItem(new SpaceItem("Charts", R.drawable.ic_show_chart_black_24dp));
|
||||
spaceNavigationView.addSpaceItem(new SpaceItem("Market Cap.", R.drawable.ic_pie_chart_black_24dp));
|
||||
spaceNavigationView.setSpaceBackgroundColor(getResources().getColor(R.color.colorPrimary));
|
||||
//spaceNavigationView.setCentreButtonIcon(R.drawable.ic_add_white_24dp);
|
||||
spaceNavigationView.setCentreButtonIcon(R.drawable.ic_view_list_white_24dp);
|
||||
spaceNavigationView.setCentreButtonColor(getResources().getColor(R.color.colorAccent));
|
||||
spaceNavigationView.setCentreButtonIconColorFilterEnabled(false);
|
||||
|
||||
spaceNavigationView.setSpaceOnClickListener(new SpaceOnClickListener() {
|
||||
@Override
|
||||
public void onCentreButtonClick() {
|
||||
//Toast.makeText(MainActivity.this,"onCentreButtonClick", Toast.LENGTH_SHORT).show();
|
||||
((FloatingActionButton) findViewById(R.id.floatingAddButton)).show();
|
||||
SpaceNavigationView nav = findViewById(R.id.space);
|
||||
|
||||
nav.changeCurrentItem(-1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemClick(int itemIndex, String itemName) {
|
||||
((FloatingActionButton) findViewById(R.id.floatingAddButton)).hide();
|
||||
((SpaceNavigationView) findViewById(R.id.space)).setCentreButtonIcon(R.drawable.ic_view_list_white_24dp);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemReselected(int itemIndex, String itemName) {
|
||||
//Toast.makeText(MainActivity.this, itemIndex + " " + itemName, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
((SpaceNavigationView) findViewById(R.id.space)).onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
private void showErrorSnackbar()
|
||||
@ -226,6 +271,7 @@ public class HomeActivity extends AppCompatActivity {
|
||||
Intent intent = getIntent();
|
||||
|
||||
updateAll(intent.getBooleanExtra("update", false));
|
||||
((SpaceNavigationView) findViewById(R.id.space)).changeCenterButtonIcon(R.drawable.ic_view_list_white_24dp);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -342,53 +388,34 @@ public class HomeActivity extends AppCompatActivity {
|
||||
|
||||
private void countIcons()
|
||||
{
|
||||
iconCounter++;
|
||||
int offset = 0;
|
||||
|
||||
Log.d("coinfolio", "Icon ++ " + iconCounter);
|
||||
for(int i = 0; i < balanceManager.getTotalBalance().size(); i++)
|
||||
{
|
||||
if(balanceManager.getTotalBalance().get(i).getSymbol().equals("USD"))
|
||||
{
|
||||
offset++;
|
||||
}
|
||||
}
|
||||
|
||||
iconCounter++;
|
||||
|
||||
if(balanceManager.getTotalBalance() != null)
|
||||
{
|
||||
if(iconCounter == balanceManager.getTotalBalance().size())
|
||||
if(iconCounter == balanceManager.getTotalBalance().size() - offset)
|
||||
{
|
||||
Log.d("coinfolio", "1");
|
||||
if(coinCounter == balanceManager.getTotalBalance().size())
|
||||
if(balanceManager.getTotalBalance().size() == 0)
|
||||
{
|
||||
updateNoBalance();
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.d("coinfolio", "Loading heavy");
|
||||
|
||||
UiHeavyLoadCalculator uiHeavyLoadCalculator = new UiHeavyLoadCalculator();
|
||||
uiHeavyLoadCalculator.execute();
|
||||
}
|
||||
|
||||
if(balanceManager.getTotalBalance().size() == 0)
|
||||
{
|
||||
updateNoBalance();
|
||||
}
|
||||
}
|
||||
/*else
|
||||
{
|
||||
if(balanceManager.getTotalBalance().size() == 0)
|
||||
{
|
||||
currencyLayout.removeAllViews();
|
||||
|
||||
refreshLayout.setRefreshing(false);
|
||||
|
||||
if(loadingDialog.isShowing())
|
||||
{
|
||||
loadingDialog.dismiss();
|
||||
}
|
||||
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
toolbarLayout.setTitle("US$0.00");
|
||||
|
||||
toolbarSubtitle.setText("US$0.00");
|
||||
|
||||
toolbarSubtitle.setTextColor(-1275068417);
|
||||
}
|
||||
});
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@ -417,8 +444,6 @@ public class HomeActivity extends AppCompatActivity {
|
||||
|
||||
private void countCoins(boolean isCoin, boolean isDetails)
|
||||
{
|
||||
Log.d("coinfolio", "Coin++ " + coinCounter + " " + balanceManager.getTotalBalance().size());
|
||||
|
||||
if(isCoin)
|
||||
{
|
||||
coinCounter++;
|
||||
@ -433,16 +458,12 @@ public class HomeActivity extends AppCompatActivity {
|
||||
{
|
||||
if(coinCounter == balanceManager.getTotalBalance().size())
|
||||
{
|
||||
Log.d("coinfolio", "Going through");
|
||||
|
||||
for (int i = 0; i < balanceManager.getTotalBalance().size(); i++)
|
||||
{
|
||||
final Currency localCurrency = balanceManager.getTotalBalance().get(i);
|
||||
|
||||
if(balanceManager.getIconUrl(localCurrency.getSymbol()) != null)
|
||||
{
|
||||
Log.d("coinfolio", "Downloading bitmap");
|
||||
|
||||
getBitmapFromURL(balanceManager.getIconUrl(localCurrency.getSymbol()), new IconCallBack() {
|
||||
@Override
|
||||
public void onSuccess(Bitmap bitmapIcon) {
|
||||
@ -656,7 +677,6 @@ public class HomeActivity extends AppCompatActivity {
|
||||
|
||||
if(balanceManager.getTotalBalance().size() > 0)
|
||||
{
|
||||
|
||||
for(int i = 0; i < balanceManager.getTotalBalance().size(); i++)
|
||||
{
|
||||
balance.get(i).updateHistoryMinutes(getApplicationContext(), new Currency.CurrencyCallBack() {
|
||||
|
@ -67,15 +67,16 @@ public class Currency implements Parcelable {
|
||||
public void updateHistoryMinutes(android.content.Context context, final CurrencyCallBack callBack)
|
||||
{
|
||||
dataRetriver = new CurrencyDataRetriever(context);
|
||||
|
||||
dataRetriver.updateHistory(symbol, new CurrencyDataRetriever.DataChartCallBack() {
|
||||
@Override
|
||||
public void onSuccess(List<CurrencyDataChart> dataChart) {
|
||||
setHistoryMinutes(dataChart);
|
||||
updateDayFluctuation();
|
||||
|
||||
if(dataChart != null)
|
||||
{
|
||||
setValue(dataChart.get(dataChart.size() - 1).getClose());
|
||||
updateDayFluctuation();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -42,7 +42,7 @@ public class CurrencyDataRetriever {
|
||||
requestQueue = Volley.newRequestQueue(context);
|
||||
}
|
||||
|
||||
private void updateHistory(String symbolCurrencyFrom, String symbolCyrrencyTo, final DataChartCallBack callBack, int timeUnit)
|
||||
private void updateHistory(final String symbolCurrencyFrom, String symbolCyrrencyTo, final DataChartCallBack callBack, int timeUnit)
|
||||
{
|
||||
String requestUrl = null;
|
||||
|
||||
@ -122,7 +122,11 @@ public class CurrencyDataRetriever {
|
||||
|
||||
void updateHistory(String symbolCurrencyFrom, final DataChartCallBack callBack, int timeUnit)
|
||||
{
|
||||
if(!symbolCurrencyFrom.equals("USD"))
|
||||
if(symbolCurrencyFrom.equals("USD"))
|
||||
{
|
||||
callBack.onSuccess(null);
|
||||
}
|
||||
else
|
||||
{
|
||||
updateHistory(symbolCurrencyFrom, "USD", callBack, timeUnit);
|
||||
}
|
||||
|
@ -60,10 +60,6 @@ public class HomeLayoutGenerator {
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
/*view.animate();
|
||||
Intent intent = new Intent(context.getApplicationContext(), CurrencyDetailsActivity.class);
|
||||
intent.putExtra("currency", currency);
|
||||
context.getApplicationContext().startActivity(intent);*/
|
||||
if(view.findViewById(R.id.LineChartView).getVisibility() == View.VISIBLE || view.findViewById(R.id.errorTextView).getVisibility() == View.VISIBLE)
|
||||
{
|
||||
collapseView(view);
|
||||
@ -95,6 +91,15 @@ public class HomeLayoutGenerator {
|
||||
((ImageView) view.findViewById(R.id.detailsArrow))
|
||||
.getDrawable().setColorFilter(new PorterDuffColorFilter(currency.getChartColor(), PorterDuff.Mode.SRC_IN));
|
||||
|
||||
view.findViewById(R.id.errorTextView).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(context.getApplicationContext(), CurrencyDetailsActivity.class);
|
||||
intent.putExtra("currency", currency);
|
||||
context.getApplicationContext().startActivity(intent);
|
||||
}
|
||||
});
|
||||
|
||||
if(currency.getHistoryMinutes() != null)
|
||||
{
|
||||
List<Double> borders = getAxisBorders(currency);
|
||||
|
@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M4,14h4v-4L4,10v4zM4,19h4v-4L4,15v4zM4,9h4L8,5L4,5v4zM9,14h12v-4L9,10v4zM9,19h12v-4L9,15v4zM9,5v4h12L21,5L9,5z"/>
|
||||
</vector>
|
@ -98,20 +98,29 @@
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:menu="@menu/navigation_home"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_gravity="bottom" />
|
||||
android:layout_gravity="bottom"
|
||||
android:visibility="gone"/>
|
||||
|
||||
<com.luseen.spacenavigation.SpaceNavigationView
|
||||
android:id="@+id/space"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="bottom"/>
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/floatingAddButton"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="0dp"
|
||||
app:borderWidth="0dp"
|
||||
android:background="@color/cardview_light_background"
|
||||
android:src="@drawable/ic_add_white_24dp"
|
||||
android:layout_gravity="bottom|center_horizontal"
|
||||
android:clickable="true"
|
||||
android:focusable="true"/>
|
||||
android:focusable="true"
|
||||
android:layout_margin="8dp"
|
||||
android:visibility="visible"/>
|
||||
|
||||
</FrameLayout>
|
@ -28,15 +28,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/addCurrencyButton"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginRight="15dp"
|
||||
style="@style/Widget.AppCompat.Button"
|
||||
android:src="@drawable/ic_add_black_24dp"/>
|
||||
|
||||
<Space
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="10dp" />
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_view_list"
|
||||
android:icon="@drawable/ic_view_list_black_24dp"
|
||||
android:icon="@drawable/ic_view_list_white_24dp"
|
||||
android:title="@string/title_home" />
|
||||
|
||||
<item
|
||||
|
@ -140,6 +140,5 @@
|
||||
<string name="currencyDollarParenthesisPlaceholder">(US$%1$s)</string>
|
||||
<string name="currencyDollarPlaceholder">US$%1$s</string>
|
||||
<string name="currencyPercentagePlaceholder">%1$s%%</string>
|
||||
<string name="title_activity_main">MainActivity</string>
|
||||
|
||||
</resources>
|
||||
|
Loading…
Reference in New Issue
Block a user