-Create class LoadingActivity.kt
-Create loading_activity.xml layout -Static interface integración in LoadingActivity.kt to entable simple use -In the Board Window in the server connection show the new loading acitivity -Take video called “Loading screen when socket server comunicación comes” -In the Intro Window: When the user tríes to clic button and there are not server comunication it should show loading screen -In the board window i tested that the gestores GUI works fine in real device -In the BoardActivity there is a grey brand below first panel gui balances -Change the Font in the BoardAcivity to be the same as in the video -In the BoardActivity when clicling in sections that the sections show grayed for unselected and White for selected -Change Bitshares Font style as the video -In the window BroadActivity set the left icon more mall and the Font as in the video
This commit is contained in:
parent
f9995bf284
commit
119300d545
9 changed files with 108 additions and 6 deletions
|
@ -33,6 +33,9 @@
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name=".activities.CreateSeedActivity" >
|
<activity android:name=".activities.CreateSeedActivity" >
|
||||||
</activity>
|
</activity>
|
||||||
|
<activity android:name=".activities.LoadingActivity"
|
||||||
|
android:theme="@style/ActivityDialog">
|
||||||
|
</activity>
|
||||||
<activity android:name=".activities.AccountSeedsManagementActivity" >
|
<activity android:name=".activities.AccountSeedsManagementActivity" >
|
||||||
</activity>
|
</activity>
|
||||||
<activity android:name=".activities.ImportSeedActivity" >
|
<activity android:name=".activities.ImportSeedActivity" >
|
||||||
|
|
|
@ -8,6 +8,8 @@ import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
import android.graphics.Color;
|
||||||
|
import android.graphics.Typeface;
|
||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.design.widget.FloatingActionButton;
|
import android.support.design.widget.FloatingActionButton;
|
||||||
|
@ -19,12 +21,19 @@ import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v4.view.ViewPager;
|
import android.support.v4.view.ViewPager;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.text.Spannable;
|
||||||
|
import android.text.SpannableString;
|
||||||
|
import android.text.style.ForegroundColorSpan;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
import android.util.TypedValue;
|
||||||
import android.view.SurfaceHolder;
|
import android.view.SurfaceHolder;
|
||||||
import android.view.SurfaceView;
|
import android.view.SurfaceView;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.view.animation.LinearInterpolator;
|
import android.view.animation.LinearInterpolator;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.sjaramillo10.animatedtablayout.AnimatedTabLayout;
|
import com.sjaramillo10.animatedtablayout.AnimatedTabLayout;
|
||||||
|
|
||||||
|
@ -47,7 +56,7 @@ import cy.agorise.crystalwallet.viewmodels.CryptoNetBalanceListViewModel;
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class BoardActivity extends AppCompatActivity {
|
public class BoardActivity extends CustomActivity {
|
||||||
|
|
||||||
@BindView(R.id.tabLayout)
|
@BindView(R.id.tabLayout)
|
||||||
public TabLayout tabLayout;
|
public TabLayout tabLayout;
|
||||||
|
@ -98,6 +107,54 @@ public class BoardActivity extends AppCompatActivity {
|
||||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||||
setSupportActionBar(toolbar);
|
setSupportActionBar(toolbar);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Listener tabLayout to resalt text when clicked
|
||||||
|
* */
|
||||||
|
final TabLayout tabLayoutFinal = tabLayout;
|
||||||
|
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
|
||||||
|
@Override
|
||||||
|
public void onTabSelected(final TabLayout.Tab tab) {
|
||||||
|
|
||||||
|
globalActivity.runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
LinearLayout tabLayout = (LinearLayout)((ViewGroup) tabLayoutFinal.getChildAt(0)).getChildAt(tab.getPosition());
|
||||||
|
TextView tabTextView = (TextView) tabLayout.getChildAt(1);
|
||||||
|
//tabTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP ,50);
|
||||||
|
Spannable WordtoSpan = new SpannableString(tabTextView.getText());
|
||||||
|
WordtoSpan.setSpan(new ForegroundColorSpan(Color.WHITE), 0, tabTextView.getText().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
tabTextView.setText(WordtoSpan);
|
||||||
|
tabTextView.setTypeface(tabTextView.getTypeface(), Typeface.BOLD);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTabUnselected(final TabLayout.Tab tab) {
|
||||||
|
|
||||||
|
globalActivity.runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
LinearLayout tabLayout = (LinearLayout)((ViewGroup) tabLayoutFinal.getChildAt(0)).getChildAt(tab.getPosition());
|
||||||
|
TextView tabTextView = (TextView) tabLayout.getChildAt(1);
|
||||||
|
//tabTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP ,50);
|
||||||
|
Spannable WordtoSpan = new SpannableString(tabTextView.getText());
|
||||||
|
WordtoSpan.setSpan(new ForegroundColorSpan(globalActivity.getResources().getColor(R.color.whiteclear)), 0, tabTextView.getText().length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||||
|
tabTextView.setText(WordtoSpan);
|
||||||
|
tabTextView.setTypeface(tabTextView.getTypeface(), Typeface.NORMAL);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTabReselected(TabLayout.Tab tab) {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Appbar animation
|
// Appbar animation
|
||||||
mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -63,8 +63,6 @@ public class IntroActivity extends CustomActivity {
|
||||||
|
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Test connection with server
|
* Test connection with server
|
||||||
* */
|
* */
|
||||||
|
|
|
@ -12,6 +12,7 @@ import com.neovisionaries.ws.client.WebSocketListener;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import cy.agorise.crystalwallet.activities.LoadingActivity;
|
||||||
import cy.agorise.crystalwallet.apigenerator.GrapheneApiGenerator;
|
import cy.agorise.crystalwallet.apigenerator.GrapheneApiGenerator;
|
||||||
import cy.agorise.crystalwallet.dialogs.material.DialogMaterial;
|
import cy.agorise.crystalwallet.dialogs.material.DialogMaterial;
|
||||||
|
|
||||||
|
@ -157,6 +158,13 @@ public class WebSocketThread extends Thread {
|
||||||
|
|
||||||
canChange = false;
|
canChange = false;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Show the loading activity so user can see the progress
|
||||||
|
* */
|
||||||
|
if(activity!=null){
|
||||||
|
LoadingActivity.show(activity);
|
||||||
|
}
|
||||||
|
|
||||||
// Moves the current Thread into the background
|
// Moves the current Thread into the background
|
||||||
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
|
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
|
||||||
|
|
||||||
|
@ -174,6 +182,13 @@ public class WebSocketThread extends Thread {
|
||||||
WebSocketThread.currentThreads.put(this.getId(),this);
|
WebSocketThread.currentThreads.put(this.getId(),this);
|
||||||
mWebSocket.connect();
|
mWebSocket.connect();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hide the loading activity, now it is not more necesary
|
||||||
|
* */
|
||||||
|
if(activity!=null){
|
||||||
|
LoadingActivity.dismiss();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
* Websocket success response
|
* Websocket success response
|
||||||
|
@ -185,6 +200,11 @@ public class WebSocketThread extends Thread {
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
Log.e(TAG, "WebSocketException. Msg: "+e.getMessage());
|
Log.e(TAG, "WebSocketException. Msg: "+e.getMessage());
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Hide the loading activity, now it is not more necesary
|
||||||
|
* */
|
||||||
|
LoadingActivity.dismiss();
|
||||||
|
|
||||||
//Deliver error to user
|
//Deliver error to user
|
||||||
if(activity!=null){
|
if(activity!=null){
|
||||||
|
|
||||||
|
|
|
@ -192,7 +192,14 @@ public class CryptoNetBalanceViewHolder extends RecyclerView.ViewHolder {
|
||||||
} else {
|
} else {
|
||||||
final CryptoNetBalanceViewHolder thisViewHolder = this;
|
final CryptoNetBalanceViewHolder thisViewHolder = this;
|
||||||
this.cryptoNetAccountId = balance.getAccountId();
|
this.cryptoNetAccountId = balance.getAccountId();
|
||||||
cryptoNetName.setText(balance.getCryptoNet().getLabel());
|
|
||||||
|
/*
|
||||||
|
* The first letter should be in mayus
|
||||||
|
* */
|
||||||
|
final String crypto = balance.getCryptoNet().getLabel().toString().toLowerCase();
|
||||||
|
final String upperString = crypto.substring(0,1).toUpperCase() + crypto.substring(1);
|
||||||
|
|
||||||
|
cryptoNetName.setText(upperString);
|
||||||
|
|
||||||
//Loads the crypto coin balance list of this account using a ViewModel and retrieving a LiveData List
|
//Loads the crypto coin balance list of this account using a ViewModel and retrieving a LiveData List
|
||||||
CryptoCoinBalanceListViewModel cryptoCoinBalanceListViewModel = ViewModelProviders.of(this.fragment).get(CryptoCoinBalanceListViewModel.class);
|
CryptoCoinBalanceListViewModel cryptoCoinBalanceListViewModel = ViewModelProviders.of(this.fragment).get(CryptoCoinBalanceListViewModel.class);
|
||||||
|
|
|
@ -25,8 +25,8 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxHeight="32dp"
|
android:maxHeight="28dp"
|
||||||
android:maxWidth="32dp"
|
android:maxWidth="28dp"
|
||||||
app:srcCompat="@drawable/bts" />
|
app:srcCompat="@drawable/bts" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -34,6 +34,7 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginLeft="20dp"
|
||||||
android:layout_toRightOf="@id/ivCryptoNetIcon"
|
android:layout_toRightOf="@id/ivCryptoNetIcon"
|
||||||
android:ems="10"
|
android:ems="10"
|
||||||
android:text="unknown coin" />
|
android:text="unknown coin" />
|
||||||
|
|
|
@ -101,7 +101,10 @@
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
app:tabSelectedTextColor="@color/white"
|
||||||
app:layout_collapseMode="pin"
|
app:layout_collapseMode="pin"
|
||||||
|
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
|
||||||
|
app:tabTextColor="@color/whiteclear"
|
||||||
android:animateLayoutChanges="true" />
|
android:animateLayoutChanges="true" />
|
||||||
|
|
||||||
</android.support.design.widget.CollapsingToolbarLayout>
|
</android.support.design.widget.CollapsingToolbarLayout>
|
||||||
|
|
|
@ -4,9 +4,19 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
tools:context="cy.agorise.crystalwallet.fragments.BalanceFragment">
|
tools:context="cy.agorise.crystalwallet.fragments.BalanceFragment">
|
||||||
|
|
||||||
|
<android.support.design.widget.TabLayout
|
||||||
|
android:id="@+id/tabLayout"
|
||||||
|
android:layout_gravity="start"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="50dp"
|
||||||
|
android:background="#d9d9d9"
|
||||||
|
android:animateLayoutChanges="true" />
|
||||||
|
|
||||||
|
|
||||||
<cy.agorise.crystalwallet.views.CryptoNetBalanceListView
|
<cy.agorise.crystalwallet.views.CryptoNetBalanceListView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
||||||
android:id="@+id/vCryptoNetBalanceListView" />
|
android:id="@+id/vCryptoNetBalanceListView" />
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
|
@ -14,6 +14,9 @@
|
||||||
|
|
||||||
<color name="green">#147b00</color>
|
<color name="green">#147b00</color>
|
||||||
|
|
||||||
|
|
||||||
|
<color name="whiteclear">#cccccc</color>
|
||||||
|
|
||||||
<color name="black">#000000</color>
|
<color name="black">#000000</color>
|
||||||
<color name="greencolor">#70882E</color>
|
<color name="greencolor">#70882E</color>
|
||||||
<color name="red">#ff0000</color>
|
<color name="red">#ff0000</color>
|
||||||
|
|
Loading…
Reference in a new issue