From 575b85ebb425fd28a2c10e0a6ce35fb112ee92d4 Mon Sep 17 00:00:00 2001 From: sjaramillo10 Date: Thu, 16 Nov 2017 22:56:43 -0600 Subject: [PATCH 1/4] Added custom toolbar and tab labels to board activity --- .../2.json | 573 ++++++++++++++++++ app/src/main/AndroidManifest.xml | 3 +- .../activities/BoardActivity.java | 10 + app/src/main/res/layout/board.xml | 70 ++- app/src/main/res/values/dimens.xml | 1 + 5 files changed, 651 insertions(+), 6 deletions(-) create mode 100644 app/schemas/cy.agorise.crystalwallet.dao.CrystalDatabase/2.json diff --git a/app/schemas/cy.agorise.crystalwallet.dao.CrystalDatabase/2.json b/app/schemas/cy.agorise.crystalwallet.dao.CrystalDatabase/2.json new file mode 100644 index 0000000..dfdbc9d --- /dev/null +++ b/app/schemas/cy.agorise.crystalwallet.dao.CrystalDatabase/2.json @@ -0,0 +1,573 @@ +{ + "formatVersion": 1, + "database": { + "version": 2, + "identityHash": "6dd1ca39bdde9af2cba2b35413c4975e", + "entities": [ + { + "tableName": "account_seed", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `master_seed` TEXT, `type` TEXT)", + "fields": [ + { + "fieldPath": "mId", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mName", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mMasterSeed", + "columnName": "master_seed", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "type", + "columnName": "type", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [], + "foreignKeys": [] + }, + { + "tableName": "crypto_net_account", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `seed_id` INTEGER NOT NULL, `account_index` INTEGER NOT NULL, `crypto_net` TEXT, FOREIGN KEY(`seed_id`) REFERENCES `account_seed`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "mId", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mSeedId", + "columnName": "seed_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mAccountIndex", + "columnName": "account_index", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mCryptoNet", + "columnName": "crypto_net", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_crypto_net_account_id", + "unique": false, + "columnNames": [ + "id" + ], + "createSql": "CREATE INDEX `index_crypto_net_account_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_crypto_net_account_seed_id", + "unique": false, + "columnNames": [ + "seed_id" + ], + "createSql": "CREATE INDEX `index_crypto_net_account_seed_id` ON `${TABLE_NAME}` (`seed_id`)" + }, + { + "name": "index_crypto_net_account_seed_id_crypto_net_account_index", + "unique": true, + "columnNames": [ + "seed_id", + "crypto_net", + "account_index" + ], + "createSql": "CREATE UNIQUE INDEX `index_crypto_net_account_seed_id_crypto_net_account_index` ON `${TABLE_NAME}` (`seed_id`, `crypto_net`, `account_index`)" + } + ], + "foreignKeys": [ + { + "table": "account_seed", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "seed_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "crypto_coin_transaction", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `date` INTEGER, `is_input` INTEGER NOT NULL, `account_id` INTEGER NOT NULL, `amount` INTEGER NOT NULL, `id_currency` INTEGER NOT NULL, `is_confirmed` INTEGER NOT NULL, `from` TEXT, `to` TEXT, FOREIGN KEY(`account_id`) REFERENCES `crypto_net_account`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`id_currency`) REFERENCES `crypto_currency`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "date", + "columnName": "date", + "affinity": "INTEGER", + "notNull": false + }, + { + "fieldPath": "isInput", + "columnName": "is_input", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "accountId", + "columnName": "account_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "amount", + "columnName": "amount", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "idCurrency", + "columnName": "id_currency", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "isConfirmed", + "columnName": "is_confirmed", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "from", + "columnName": "from", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "to", + "columnName": "to", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_crypto_coin_transaction_account_id", + "unique": false, + "columnNames": [ + "account_id" + ], + "createSql": "CREATE INDEX `index_crypto_coin_transaction_account_id` ON `${TABLE_NAME}` (`account_id`)" + }, + { + "name": "index_crypto_coin_transaction_id_currency", + "unique": false, + "columnNames": [ + "id_currency" + ], + "createSql": "CREATE INDEX `index_crypto_coin_transaction_id_currency` ON `${TABLE_NAME}` (`id_currency`)" + } + ], + "foreignKeys": [ + { + "table": "crypto_net_account", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "account_id" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "crypto_currency", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "id_currency" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "crypto_currency", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `crypto_net` TEXT, `precision` INTEGER NOT NULL)", + "fields": [ + { + "fieldPath": "mId", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mName", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mCryptoNet", + "columnName": "crypto_net", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mPrecision", + "columnName": "precision", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_crypto_currency_crypto_net_name", + "unique": true, + "columnNames": [ + "crypto_net", + "name" + ], + "createSql": "CREATE UNIQUE INDEX `index_crypto_currency_crypto_net_name` ON `${TABLE_NAME}` (`crypto_net`, `name`)" + } + ], + "foreignKeys": [] + }, + { + "tableName": "crypto_coin_balance", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `account_id` INTEGER NOT NULL, `crypto_currency_id` INTEGER NOT NULL, `balance` INTEGER NOT NULL, FOREIGN KEY(`account_id`) REFERENCES `crypto_net_account`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "mId", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mAccountId", + "columnName": "account_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mCryptoCurrencyId", + "columnName": "crypto_currency_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mBalance", + "columnName": "balance", + "affinity": "INTEGER", + "notNull": true + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_crypto_coin_balance_id", + "unique": false, + "columnNames": [ + "id" + ], + "createSql": "CREATE INDEX `index_crypto_coin_balance_id` ON `${TABLE_NAME}` (`id`)" + }, + { + "name": "index_crypto_coin_balance_account_id", + "unique": false, + "columnNames": [ + "account_id" + ], + "createSql": "CREATE INDEX `index_crypto_coin_balance_account_id` ON `${TABLE_NAME}` (`account_id`)" + }, + { + "name": "index_crypto_coin_balance_account_id_crypto_currency_id", + "unique": true, + "columnNames": [ + "account_id", + "crypto_currency_id" + ], + "createSql": "CREATE UNIQUE INDEX `index_crypto_coin_balance_account_id_crypto_currency_id` ON `${TABLE_NAME}` (`account_id`, `crypto_currency_id`)" + } + ], + "foreignKeys": [ + { + "table": "crypto_net_account", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "account_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "graphene_account", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`crypto_net_account_id` INTEGER NOT NULL, `account_name` TEXT, `account_id` TEXT, PRIMARY KEY(`crypto_net_account_id`), FOREIGN KEY(`crypto_net_account_id`) REFERENCES `crypto_net_account`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "cryptoNetAccountId", + "columnName": "crypto_net_account_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "name", + "columnName": "account_name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "accountId", + "columnName": "account_id", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "crypto_net_account_id" + ], + "autoGenerate": false + }, + "indices": [], + "foreignKeys": [ + { + "table": "crypto_net_account", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "crypto_net_account_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "bitshares_asset", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`crypto_curreny_id` INTEGER NOT NULL, `bitshares_id` TEXT, `asset_type` TEXT, PRIMARY KEY(`crypto_curreny_id`), FOREIGN KEY(`crypto_curreny_id`) REFERENCES `crypto_currency`(`id`) ON UPDATE NO ACTION ON DELETE NO ACTION )", + "fields": [ + { + "fieldPath": "cryptoCurrencyId", + "columnName": "crypto_curreny_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "bitsharesId", + "columnName": "bitshares_id", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "assetType", + "columnName": "asset_type", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "crypto_curreny_id" + ], + "autoGenerate": false + }, + "indices": [], + "foreignKeys": [ + { + "table": "crypto_currency", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "columns": [ + "crypto_curreny_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "crypto_currency_equivalence", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `from_crypto_currency_id` INTEGER NOT NULL, `to_crypto_currency_id` INTEGER NOT NULL, `value` INTEGER NOT NULL, `last_checked` INTEGER, FOREIGN KEY(`from_crypto_currency_id`) REFERENCES `crypto_currency`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`to_crypto_currency_id`) REFERENCES `crypto_currency`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE )", + "fields": [ + { + "fieldPath": "id", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "fromCurrencyId", + "columnName": "from_crypto_currency_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "toCurrencyId", + "columnName": "to_crypto_currency_id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "value", + "columnName": "value", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "lastChecked", + "columnName": "last_checked", + "affinity": "INTEGER", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [ + { + "name": "index_crypto_currency_equivalence_from_crypto_currency_id_to_crypto_currency_id", + "unique": true, + "columnNames": [ + "from_crypto_currency_id", + "to_crypto_currency_id" + ], + "createSql": "CREATE UNIQUE INDEX `index_crypto_currency_equivalence_from_crypto_currency_id_to_crypto_currency_id` ON `${TABLE_NAME}` (`from_crypto_currency_id`, `to_crypto_currency_id`)" + }, + { + "name": "index_crypto_currency_equivalence_from_crypto_currency_id", + "unique": false, + "columnNames": [ + "from_crypto_currency_id" + ], + "createSql": "CREATE INDEX `index_crypto_currency_equivalence_from_crypto_currency_id` ON `${TABLE_NAME}` (`from_crypto_currency_id`)" + }, + { + "name": "index_crypto_currency_equivalence_to_crypto_currency_id", + "unique": false, + "columnNames": [ + "to_crypto_currency_id" + ], + "createSql": "CREATE INDEX `index_crypto_currency_equivalence_to_crypto_currency_id` ON `${TABLE_NAME}` (`to_crypto_currency_id`)" + } + ], + "foreignKeys": [ + { + "table": "crypto_currency", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "from_crypto_currency_id" + ], + "referencedColumns": [ + "id" + ] + }, + { + "table": "crypto_currency", + "onDelete": "CASCADE", + "onUpdate": "NO ACTION", + "columns": [ + "to_crypto_currency_id" + ], + "referencedColumns": [ + "id" + ] + } + ] + }, + { + "tableName": "general_setting", + "createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `name` TEXT, `value` TEXT)", + "fields": [ + { + "fieldPath": "mId", + "columnName": "id", + "affinity": "INTEGER", + "notNull": true + }, + { + "fieldPath": "mName", + "columnName": "name", + "affinity": "TEXT", + "notNull": false + }, + { + "fieldPath": "mValue", + "columnName": "value", + "affinity": "TEXT", + "notNull": false + } + ], + "primaryKey": { + "columnNames": [ + "id" + ], + "autoGenerate": true + }, + "indices": [], + "foreignKeys": [] + } + ], + "setupQueries": [ + "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)", + "INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, \"6dd1ca39bdde9af2cba2b35413c4975e\")" + ] + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cc25f4d..0502f12 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,7 +19,8 @@ - + diff --git a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java index cf6ac67..4826a22 100644 --- a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java +++ b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java @@ -2,12 +2,14 @@ package cy.agorise.crystalwallet.activities; import android.content.Intent; import android.os.Bundle; +import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; import android.widget.ImageButton; import butterknife.BindView; @@ -38,8 +40,16 @@ public class BoardActivity extends AppCompatActivity { setContentView(R.layout.board); ButterKnife.bind(this); + Toolbar toolbar = findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + boardAdapter = new BoardPagerAdapter(getSupportFragmentManager()); mPager.setAdapter(boardAdapter); + + TabLayout tabLayout = findViewById(R.id.tabs); + + mPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); + tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mPager)); } @OnClick(R.id.btnGeneralSettings) diff --git a/app/src/main/res/layout/board.xml b/app/src/main/res/layout/board.xml index abb5e7b..cbdaa46 100644 --- a/app/src/main/res/layout/board.xml +++ b/app/src/main/res/layout/board.xml @@ -1,12 +1,72 @@ - + + + + + + + + + + + + + + + + + + + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior"/> + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 9cf8f0c..87a60b1 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -15,6 +15,7 @@ 70dp 140dp 150dp + 8dp 13sp From 2cb9afb645845709b1eb402a5378316cb6dc4514 Mon Sep 17 00:00:00 2001 From: sjaramillo10 Date: Thu, 16 Nov 2017 23:43:10 -0600 Subject: [PATCH 2/4] Added bottom buttons to balance, transactions and contacts --- .../activities/BoardActivity.java | 58 +++++++++++++++++++ app/src/main/res/layout/board.xml | 24 +++++++- 2 files changed, 79 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java index 4826a22..7d04f6f 100644 --- a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java +++ b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java @@ -2,6 +2,8 @@ package cy.agorise.crystalwallet.activities; import android.content.Intent; import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; @@ -10,6 +12,7 @@ import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; +import android.view.View; import android.widget.ImageButton; import butterknife.BindView; @@ -32,6 +35,15 @@ public class BoardActivity extends AppCompatActivity { @BindView(R.id.btnGeneralSettings) public ImageButton btnGeneralSettings; + @BindView(R.id.fabSend) + public FloatingActionButton fabSend; + + @BindView(R.id.fabReceive) + public FloatingActionButton fabReceive; + + @BindView(R.id.fabAddContact) + public FloatingActionButton fabAddContact; + public BoardPagerAdapter boardAdapter; @Override @@ -50,6 +62,52 @@ public class BoardActivity extends AppCompatActivity { mPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mPager)); + + /*fabSend.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) + .setAction("Action", null).show(); + } + });*/ + + // + fabAddContact.hide(); + + mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { + @Override + public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { + } + + @Override + public void onPageSelected(int position) { + + switch (position) { + case 0: + fabReceive.show(); + fabSend.show(); + fabAddContact.hide(); + break; + + case 1: + fabReceive.show(); + fabSend.show(); + fabAddContact.hide(); + break; + + default: + fabReceive.hide(); + fabSend.hide(); + fabAddContact.show(); + break; + } + } + + @Override + public void onPageScrollStateChanged(int state) { + + } + }); } @OnClick(R.id.btnGeneralSettings) diff --git a/app/src/main/res/layout/board.xml b/app/src/main/res/layout/board.xml index cbdaa46..50167ac 100644 --- a/app/src/main/res/layout/board.xml +++ b/app/src/main/res/layout/board.xml @@ -59,7 +59,25 @@ app:layout_behavior="@string/appbar_scrolling_view_behavior"/> + + + + \ No newline at end of file From 05bc7bea657c51006a70cd56430f00cb8274321d Mon Sep 17 00:00:00 2001 From: sjaramillo10 Date: Fri, 17 Nov 2017 00:05:41 -0600 Subject: [PATCH 3/4] Fixed small issues and added comments --- app/src/main/AndroidManifest.xml | 2 +- .../cy/agorise/crystalwallet/activities/BoardActivity.java | 3 ++- app/src/main/res/layout/board.xml | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0502f12..a2aaba3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,7 +20,7 @@ + android:theme="@style/AppTheme.NoActionBar" > diff --git a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java index 7d04f6f..9f5aa39 100644 --- a/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java +++ b/app/src/main/java/cy/agorise/crystalwallet/activities/BoardActivity.java @@ -71,9 +71,10 @@ public class BoardActivity extends AppCompatActivity { } });*/ - // + // Hide Add Contact fab, it won't hide until first page changed... fabAddContact.hide(); + // Hide and show respective fabs when convenient mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { diff --git a/app/src/main/res/layout/board.xml b/app/src/main/res/layout/board.xml index 50167ac..5ec2eb9 100644 --- a/app/src/main/res/layout/board.xml +++ b/app/src/main/res/layout/board.xml @@ -22,7 +22,7 @@ android:background="?attr/colorPrimary" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/AppTheme.PopupOverlay" - app:title="@string/app_name"> + app:title="Client Logo"> From 3d4d764a78a64a1fb588e41d34d4b35824882ed7 Mon Sep 17 00:00:00 2001 From: sjaramillo10 Date: Tue, 21 Nov 2017 20:27:27 -0600 Subject: [PATCH 4/4] Fixed app theme --- app/src/main/AndroidManifest.xml | 2 +- .../views/CryptoNetBalanceListView.java | 2 +- app/src/main/res/drawable/receive_icon.png | Bin 0 -> 5798 bytes app/src/main/res/layout/board.xml | 4 +++- 4 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 app/src/main/res/drawable/receive_icon.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a2aaba3..0df4710 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,7 +11,7 @@ android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" - android:theme="@style/Theme.AppCompat"> + android:theme="@style/AppTheme"> diff --git a/app/src/main/java/cy/agorise/crystalwallet/views/CryptoNetBalanceListView.java b/app/src/main/java/cy/agorise/crystalwallet/views/CryptoNetBalanceListView.java index 1e7afa5..be10ebb 100644 --- a/app/src/main/java/cy/agorise/crystalwallet/views/CryptoNetBalanceListView.java +++ b/app/src/main/java/cy/agorise/crystalwallet/views/CryptoNetBalanceListView.java @@ -84,7 +84,7 @@ public class CryptoNetBalanceListView extends RelativeLayout { this.listView.setNestedScrollingEnabled(false); } - /* + /*main_content * Sets the data for the list of balances. * * @param data the list of crypto net balances that will be show to the user diff --git a/app/src/main/res/drawable/receive_icon.png b/app/src/main/res/drawable/receive_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b0f1086f829a82b7113345ac2d3453ff8a084 GIT binary patch literal 5798 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 + app:backgroundTint="@color/white" + app:srcCompat="@drawable/receive_icon" />