diff --git a/Green_Arrow_Up_Darker.svg b/Green_Arrow_Up_Darker.svg
new file mode 100644
index 0000000..2d5ea0d
--- /dev/null
+++ b/Green_Arrow_Up_Darker.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/Red_Arrow_Down.svg b/Red_Arrow_Down.svg
new file mode 100644
index 0000000..9b627af
--- /dev/null
+++ b/Red_Arrow_Down.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index b70dc0e..1f17f45 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,8 +7,8 @@ android {
applicationId "javinator9889.bitcoinpools"
minSdkVersion 21
targetSdkVersion 27
- versionCode 36
- versionName "1.18"
+ versionCode 40
+ versionName "1.18-beta"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
diff --git a/app/debug/app-debug.apk b/app/debug/app-debug.apk
new file mode 100644
index 0000000..7a16705
Binary files /dev/null and b/app/debug/app-debug.apk differ
diff --git a/app/debug/output.json b/app/debug/output.json
new file mode 100644
index 0000000..4fc587a
--- /dev/null
+++ b/app/debug/output.json
@@ -0,0 +1 @@
+[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":36},"path":"app-debug.apk","properties":{"packageId":"javinator9889.bitcoinpools","split":"","minSdkVersion":"21"}}]
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 8ca34ea..38d453c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,14 +40,16 @@
android:name=".SpinnerActivity"
android:configChanges="orientation"
android:screenOrientation="portrait" />
-
+
+ android:permission="android.permission.BIND_JOB_SERVICE"
+ tools:ignore="InnerclassSeparator" />
diff --git a/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/CacheJobSchedulerService.java b/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/CacheJobSchedulerService.java
index 82b41d6..33614ed 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/CacheJobSchedulerService.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/BackgroundJobs/CacheJobSchedulerService.java
@@ -78,7 +78,7 @@ public boolean onStopJob(JobParameters params) {
}
private void updateCache() {
- String date = new SimpleDateFormat("dd-MM-yyyy", Locale.US).format(Calendar.getInstance().getTime());
+ String date = new SimpleDateFormat("dd-MM-yyyy HH:mm", Locale.US).format(Calendar.getInstance().getTime());
CacheManaging cache = CacheManaging.newInstance(BitCoinApp.getAppContext());
try {
cache.setupFile();
diff --git a/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java b/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java
index f4ed9a4..715440f 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/BitCoinApp.java
@@ -15,6 +15,7 @@
import com.crashlytics.android.Crashlytics;
+import java.io.IOException;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Calendar;
@@ -34,6 +35,7 @@ public class BitCoinApp extends Application {
@SuppressLint("StaticFieldLeak")
private static Context APPLICATION_CONTEXT;
private static SharedPreferences SHARED_PREFERENCES;
+ private static boolean isCacheCreated = false;
public static Context getAppContext() {
return APPLICATION_CONTEXT;
@@ -48,20 +50,17 @@ public void onCreate() {
APPLICATION_CONTEXT = getApplicationContext();
SHARED_PREFERENCES = getSharedPreferences(Constants.SHARED_PREFERENCES.SHARED_PREFERENCES_KEY, Context.MODE_PRIVATE);
initSharedPreferences();
- startBackgroundJobs();
try {
- System.out.println(CacheManaging.newInstance(this).readCache());
- } catch (Exception e) {
- System.out.println("No cache values found");
+ isCacheCreated = CacheManaging.newInstance(this).setupFile();
+ } catch (IOException e) {
+ isCacheCreated = false;
}
+ startBackgroundJobs();
super.onCreate();
Log.d(Constants.LOG.BCTAG, Constants.LOG.CREATED_APP);
}
private static void startBackgroundJobs() {
- JobScheduler globalJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE);
- List pendingJobs = globalJobScheduler != null ? globalJobScheduler.getAllPendingJobs() : new ArrayList(0);
-
JobScheduler mJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(APPLICATION_CONTEXT.getPackageName(), JobSchedulerService.class.getName()));
@@ -75,22 +74,25 @@ private static void startBackgroundJobs() {
Log.e(Constants.LOG.BCTAG, Constants.LOG.NO_INIT + "JobScheduler" + mJobScheduler.getAllPendingJobs().toString());
}
- JobScheduler cacheJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE);
- JobInfo.Builder cacheBuilder = new JobInfo.Builder(2, new ComponentName(APPLICATION_CONTEXT.getPackageName(), CacheJobSchedulerService.class.getName()));
+ if (!(SHARED_PREFERENCES.getBoolean(Constants.SHARED_PREFERENCES.CACHE_JOB, false)) || isCacheCreated) {
+ JobScheduler cacheJobScheduler = (JobScheduler) APPLICATION_CONTEXT.getSystemService(Context.JOB_SCHEDULER_SERVICE);
+ JobInfo.Builder cacheBuilder = new JobInfo.Builder(2, new ComponentName(APPLICATION_CONTEXT.getPackageName(), CacheJobSchedulerService.class.getName()));
- cacheBuilder.setPeriodic(TimeUnit.DAYS.toMillis(1));
- cacheBuilder.setPersisted(Constants.PERSISTED);
- cacheBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
- cacheBuilder.setBackoffCriteria(Constants.BACKOFF_CRITERIA, JobInfo.BACKOFF_POLICY_LINEAR);
+ cacheBuilder.setPeriodic(TimeUnit.DAYS.toMillis(1));
+ cacheBuilder.setPersisted(Constants.PERSISTED);
+ cacheBuilder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
+ cacheBuilder.setBackoffCriteria(Constants.BACKOFF_CRITERIA, JobInfo.BACKOFF_POLICY_LINEAR);
- if ((pendingJobs.size() != 0) && !(pendingJobs.contains(cacheBuilder.build()))) {
assert cacheJobScheduler != null;
if (cacheJobScheduler.schedule(cacheBuilder.build()) == JobScheduler.RESULT_FAILURE) {
Log.e(Constants.LOG.BCTAG, Constants.LOG.NO_INIT + "JobScheduler" + mJobScheduler.getAllPendingJobs().toString());
+ } else {
+ SharedPreferences.Editor newValueForStartedJob = SHARED_PREFERENCES.edit();
+ newValueForStartedJob.putBoolean(Constants.SHARED_PREFERENCES.CACHE_JOB, true);
+ newValueForStartedJob.apply();
}
- } else
- System.out.println("EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE EL JOB YA EXISTE");
+ }
}
private void initSharedPreferences() {
diff --git a/app/src/main/java/javinator9889/bitcoinpools/Constants.java b/app/src/main/java/javinator9889/bitcoinpools/Constants.java
index c5f5cca..da13fce 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/Constants.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/Constants.java
@@ -30,6 +30,7 @@ public static final class SHARED_PREFERENCES {
public static final String VALUE_TO_CHECK = "value_to_check";
public static final String SHARED_PREFERENCES_INITIALIZED = "initialized";
public static final String APP_VERSION = "APP_VERSION";
+ public static final String CACHE_JOB = "CACHE_JOB";
}
public static final String CHANNEL_ID = "javinator9889.bitcoinpools.Alerts";
public static final int NOTIFICATION_ID = 1;
diff --git a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java
index 2db3e89..055d957 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/DataLoaderScreen.java
@@ -1,5 +1,6 @@
package javinator9889.bitcoinpools;
+import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
@@ -52,7 +53,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
.cancelable(false)
.title(R.string.loadingData)
.content(R.string.please_wait)
- .progress(true, 0)
+ .progress(false, 100)
.build();
progressDialog.show();
new DataLoader().execute();
@@ -60,6 +61,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
}
}
+ @SuppressLint("StaticFieldLeak")
class DataLoader extends AsyncTask {
private Thread marketPriceThread;
private Thread poolsDataThread;
@@ -86,7 +88,7 @@ protected void onPostExecute(Boolean result) {
activityMainIntent.putExtra("CARDS", cardsData);
activityMainIntent.putExtra("BTCPRICE", btcPrice);
startActivity(activityMainIntent);
- //DataLoaderScreen.this.finish();
+ DataLoaderScreen.this.finish();
} else {
Log.i("DLS", "Data non-loaded...");
if (progressDialog != null) {
@@ -156,6 +158,7 @@ public void run() {
}*/
try {
mpu = round((float) getHTTPSRequest(Constants.STATS_URL).getDouble(Constants.MARKET_NAME), 2);
+ progressDialog.setProgress(progressDialog.getCurrentProgress() + 20);
} catch (Exception e) {
Log.e(Constants.LOG.MATAG, Constants.LOG.MARKET_PRICE_ERROR + e.getMessage());
mpu = -1;
@@ -183,6 +186,7 @@ public void run() {
}*/
try {
retrievedData = JSONTools.convert2HashMap(getHTTPSRequest(url));
+ progressDialog.setProgress(progressDialog.getCurrentProgress() + 20);
} catch (Exception e) {
retrievedData = null;
Log.e(Constants.LOG.MATAG, Constants.LOG.DATA_ERROR + e.getMessage());
@@ -209,6 +213,7 @@ public void run() {
}*/
try {
cardsData = JSONTools.convert2HashMap(getHTTPSRequest(Constants.STATS_URL));
+ progressDialog.setProgress(progressDialog.getCurrentProgress() + 20);
} catch (Exception e) {
cardsData = null;
Log.e(Constants.LOG.MATAG, Constants.LOG.DATA_ERROR + e.getMessage());
@@ -233,6 +238,7 @@ public void run() {
}*/
try {
btcPrice = JSONTools.convert2DateHashMap(getHTTPSRequest(Constants.API_URL).getJSONObject("bpi"));
+ progressDialog.setProgress(progressDialog.getCurrentProgress() + 20);
} catch (Exception e) {
btcPrice = null;
Log.e(Constants.LOG.MATAG, Constants.LOG.DATA_ERROR + e.getMessage());
diff --git a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/CardsAdapter.java b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/CardsAdapter.java
index 48ae6fe..9fcc49c 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/CardsAdapter.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/CardsAdapter.java
@@ -16,7 +16,6 @@
import java.util.List;
import java.util.Locale;
-import javinator9889.bitcoinpools.BitCoinApp;
import javinator9889.bitcoinpools.R;
/**
@@ -76,11 +75,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(pricePercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(pricePercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -97,11 +98,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(powerPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(powerPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -123,11 +126,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(difficultyPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(- difficultyPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -144,11 +149,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(blockPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(blockPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -170,11 +177,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(minutesPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(minutesPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -196,11 +205,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(feePercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(feePercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -217,11 +228,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(transPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(transPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
@@ -238,11 +251,13 @@ public void onBindViewHolder(final MyViewHolder holder, @SuppressLint("RecyclerV
String positiveText = "+" + decimalFormat.format(benefitPercentage) + "%";
holder.oldData.setText(positiveText);
holder.oldData.setTextColor(Color.GREEN);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_green_arrow_up_darker, 0, 0, 0);
break;
case -1:
String negativeText = decimalFormat.format(benefitPercentage) + "%";
holder.oldData.setText(negativeText);
holder.oldData.setTextColor(Color.RED);
+ holder.oldData.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_red_arrow_down, 0, 0, 0);
break;
}
break;
diff --git a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab1PoolsChart.java b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab1PoolsChart.java
index 35bf34a..c3d8621 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab1PoolsChart.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab1PoolsChart.java
@@ -33,6 +33,7 @@
import javinator9889.bitcoinpools.BitCoinApp;
import javinator9889.bitcoinpools.Constants;
+import javinator9889.bitcoinpools.DataLoaderScreen;
import javinator9889.bitcoinpools.JSONTools.JSONTools;
import javinator9889.bitcoinpools.MainActivity;
import javinator9889.bitcoinpools.NetTools.net;
@@ -97,6 +98,7 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
createTable(tableLayout, createdView);
try {
tableThread.join();
+ DataLoaderScreen.progressDialog.setProgress(DataLoaderScreen.progressDialog.getCurrentProgress() + 10);
return createdView;
} catch (InterruptedException e) {
e.printStackTrace();
diff --git a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab2BTCChart.java b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab2BTCChart.java
index 0518f5c..9b4adae 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab2BTCChart.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/FragmentViews/Tab2BTCChart.java
@@ -55,6 +55,7 @@
import javinator9889.bitcoinpools.BitCoinApp;
import javinator9889.bitcoinpools.CacheManaging;
import javinator9889.bitcoinpools.Constants;
+import javinator9889.bitcoinpools.DataLoaderScreen;
import javinator9889.bitcoinpools.JSONTools.JSONTools;
import javinator9889.bitcoinpools.MainActivity;
import javinator9889.bitcoinpools.NetTools.net;
@@ -160,6 +161,8 @@ public void onClick(View v) {
longPressInfo = getString(R.string.longclick);
((TextView) createdView.findViewById(R.id.longPressInfo)).setText(longPressInfo);
return createdView;
+ } finally {
+ DataLoaderScreen.progressDialog.setProgress(DataLoaderScreen.progressDialog.getCurrentProgress() + 10);
}
}
diff --git a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java
index 713f589..6508794 100644
--- a/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java
+++ b/app/src/main/java/javinator9889/bitcoinpools/MainActivity.java
@@ -69,6 +69,7 @@ public class MainActivity extends AppCompatActivity {
//private MaterialDialog progressDialog = null;
@Override
+ @SuppressWarnings("unchecked")
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//if (BitCoinApp.isOnline()) {
@@ -114,8 +115,8 @@ protected void onCreate(Bundle savedInstanceState) {
}
Log.d(Constants.LOG.MATAG, Constants.LOG.INIT_VALUES);
- checkPermissions();
- CheckUpdates ck = new CheckUpdates(Constants.GITHUB_USER, Constants.GITHUB_REPO);
+ //checkPermissions();
+ //CheckUpdates ck = new CheckUpdates(Constants.GITHUB_USER, Constants.GITHUB_REPO);
SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
MAINACTIVITY_TOOLBAR = findViewById(R.id.toolbar);
@@ -132,7 +133,8 @@ protected void onCreate(Bundle savedInstanceState) {
Log.d(Constants.LOG.MATAG, Constants.LOG.CREATING_CHART);
Log.d(Constants.LOG.MATAG, Constants.LOG.LISTENING);
- ck.checkForUpdates(this, getString(R.string.updateAvailable), getString(R.string.updateDescrip), getString(R.string.updateNow), getString(R.string.updateLater), getString(R.string.updatePage));
+ //ck.checkForUpdates(this, getString(R.string.updateAvailable), getString(R.string.updateDescrip), getString(R.string.updateNow), getString(R.string.updateLater), getString(R.string.updatePage));
+ //DataLoaderScreen.progressDialog.setProgress(DataLoaderScreen.progressDialog.getCurrentProgress() + 10);
/*} else {
new MaterialDialog.Builder(this)
.title(R.string.noConnectionTitle)
@@ -153,6 +155,7 @@ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which)
@Override
protected void onResume() {
super.onResume();
+ //DataLoaderScreen.progressDialog.setProgress(DataLoaderScreen.progressDialog.getCurrentProgress() + 5);
DataLoaderScreen.progressDialog.dismiss();
}
diff --git a/app/src/main/res/drawable/ic_green_arrow_up_darker.xml b/app/src/main/res/drawable/ic_green_arrow_up_darker.xml
new file mode 100644
index 0000000..d9a6424
--- /dev/null
+++ b/app/src/main/res/drawable/ic_green_arrow_up_darker.xml
@@ -0,0 +1,4 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_red_arrow_down.xml b/app/src/main/res/drawable/ic_red_arrow_down.xml
new file mode 100644
index 0000000..c79329c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_red_arrow_down.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/bitcoin_card.xml b/app/src/main/res/layout/bitcoin_card.xml
index 63f4259..099190e 100644
--- a/app/src/main/res/layout/bitcoin_card.xml
+++ b/app/src/main/res/layout/bitcoin_card.xml
@@ -9,10 +9,8 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
- android:layout_marginBottom="@dimen/card_margin"
+ android:layout_marginBottom="8dp"
android:layout_marginEnd="@dimen/card_margin"
- android:layout_marginLeft="@dimen/card_margin"
- android:layout_marginRight="@dimen/card_margin"
android:layout_marginStart="@dimen/card_margin"
android:layout_marginTop="8dp"
android:elevation="3dp"
diff --git a/app/src/main/res/layout/bitcoindata.xml b/app/src/main/res/layout/bitcoindata.xml
index 9df5c89..4adbdbc 100644
--- a/app/src/main/res/layout/bitcoindata.xml
+++ b/app/src/main/res/layout/bitcoindata.xml
@@ -56,12 +56,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
+ android:layout_marginEnd="16dp"
+ android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
+ android:alpha=".7"
+ android:drawableStart="@drawable/ic_info_outline_black_18dp"
android:text=""
android:textAlignment="center"
android:textStyle="italic"
- android:drawableStart="@drawable/ic_info_outline_black_18dp"
- android:alpha=".7"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 0484106..476677c 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -178,8 +178,8 @@
Descarga BitCoin Pools, una aplicación para obtener información sobre el BitCoin y más
Cargando datos…
Obteniendo la última información… Por favor, espera
- ¿Te ha parecido útil la app? ¡Motívame a seguir trabjando!\nApóyame con una pequeña donación, te lo agradeceré :D
- Google se queda con un 30% de lo que selecciones
+ ¿Te ha parecido útil la app? ¡Motívame a seguir trabjando!\nApóyame con una pequeña donación, te lo agradeceré :D
+ Google se queda con un 30% de lo que selecciones
¡Apóyame!
Se ha producido un error