Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f67a61ff28 | ||
|
|
82e929f145 | ||
|
|
8c72161f7d | ||
|
|
ecdbab6556 | ||
|
|
081ac97b39 | ||
|
|
75747aa9e9 | ||
|
|
308c86440f | ||
|
|
3e8941f892 | ||
|
|
6d39c65b71 | ||
|
|
7329eef9cc | ||
|
|
7d48b7564d | ||
|
|
9b317f38dc | ||
|
|
b781167f8d | ||
|
|
b4dba91aae | ||
|
|
602c235522 | ||
|
|
c65b5c6714 | ||
|
|
18e2577375 | ||
|
|
1b5f1771cb | ||
|
|
833e0e2776 | ||
|
|
0afb15da25 | ||
|
|
e90f3e381e | ||
|
|
7195e99cbb | ||
|
|
2dd6fc1002 | ||
|
|
48e88484cc | ||
|
|
49f02cc85d | ||
|
|
299e3f721f | ||
|
|
a9b0dd43d6 | ||
|
|
e2b00eda83 | ||
|
|
85cc437b91 | ||
|
|
35c2e800b3 | ||
|
|
255e2c46d4 | ||
|
|
3a46ef7f2a | ||
|
|
10c0e1bfff | ||
|
|
0627aca876 | ||
|
|
fe32d063c8 | ||
|
|
0ce4099348 | ||
|
|
f0b4008efa | ||
|
|
8433966f37 | ||
|
|
31a48209d2 | ||
|
|
0e2ddd5fd3 | ||
|
|
8906d8d2f9 | ||
|
|
7a59c59d47 |
@@ -0,0 +1,27 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
## 1.0.3
|
||||||
|
|
||||||
|
**Minify File Size**
|
||||||
|
|
||||||
|
- Shrink the APK a bit better, even though it's already small.
|
||||||
|
- Increment `versionCode` so that F-Droid hopefully sees the app updated.
|
||||||
|
|
||||||
|
## 1.0.2
|
||||||
|
|
||||||
|
**Fix Icon Padding**
|
||||||
|
|
||||||
|
- Change icons and ensure they are installed properly for all versions of Android.
|
||||||
|
|
||||||
|
## 1.0.1
|
||||||
|
|
||||||
|
**Remove BETA From Title**
|
||||||
|
|
||||||
|
- Rename the app "Carb Up!" rather than "Carb Up! BETA".
|
||||||
|
|
||||||
|
## 1.0.0
|
||||||
|
|
||||||
|
**Update Android SDK Versions**
|
||||||
|
|
||||||
|
- Begin targeting SDK 36, which allows Android 15 devices to install the app without needing a command-line intervention.
|
||||||
|
- Modified theme to work for both old and new devices. Now appropriately handles dark vs light themes.
|
||||||
@@ -1,6 +1,11 @@
|
|||||||
# CarbUp
|
# CarbUp
|
||||||
Calculate cost-effectiveness of foods on a High Carb Low Fat lifestyle.
|
Calculate cost-effectiveness of foods on a High Carb Low Fat lifestyle.
|
||||||
|
|
||||||
# Status
|
## Status
|
||||||
Working on open sourcing my free app that has existed on the Play Store for years.
|
No new features planned, only updates are to keep the app available on newer Android versions.
|
||||||
This was my first app and will likely also be the first to get a Kotlin rewrite since it looks ancient on newer devices! ;D
|
|
||||||
|
## Update Notes
|
||||||
|
|
||||||
|
### 2025-07-11
|
||||||
|
[This article](https://sijus.medium.com/resurrecting-a-5-year-old-android-app-a-developers-journey-59d8f5689e5b)
|
||||||
|
was very helpful in getting this app updated from SDK 25 to 36.
|
||||||
|
|||||||
@@ -1,26 +1,41 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 23
|
namespace "com.hyperling.carbupbeta"
|
||||||
buildToolsVersion "23.0.2"
|
compileSdkVersion 36
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.hyperling.carbupbeta"
|
applicationId "com.hyperling.carbupbeta"
|
||||||
minSdkVersion 8
|
minSdkVersion 14
|
||||||
targetSdkVersion 23
|
targetSdkVersion 36
|
||||||
versionCode 6
|
versionCode 10
|
||||||
versionName "0.11"
|
versionName "1.0.3"
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled false
|
minifyEnabled true
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
shrinkResources true
|
||||||
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
|
ndk {
|
||||||
|
//noinspection ChromeOsAbiSupport
|
||||||
|
abiFilters "arm64-v8a"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
/*
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
compile 'com.android.support:appcompat-v7:23.1.1'
|
compile 'com.android.support:appcompat-v7:23.1.1'
|
||||||
compile 'com.google.android.gms:play-services-ads:8.3.0'
|
compile 'com.google.android.gms:play-services-ads:8.3.0'
|
||||||
|
*/
|
||||||
|
|
||||||
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
|
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
|
||||||
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
|
})
|
||||||
|
// https://mvnrepository.com/artifact/com.android.support/appcompat-v7
|
||||||
|
implementation "com.android.support:appcompat-v7:28.0.0"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,40 +7,30 @@
|
|||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@drawable/dr_face_straight2_circle"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/CarbUp">
|
||||||
<activity
|
<activity
|
||||||
android:name=".Splash"
|
android:name=".Splash"
|
||||||
android:label="@string/app_name"
|
android:exported="true"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="fullSensor">
|
||||||
android:theme="@style/AppTheme.NoActionBar">
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".Main"
|
android:name=".Main"
|
||||||
android:label="@string/app_name"
|
android:screenOrientation="fullSensor"
|
||||||
android:screenOrientation="portrait"
|
|
||||||
android:theme="@android:style/Theme.Light.NoTitleBar"
|
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
||||||
<activity
|
<activity
|
||||||
android:name=".Tab1"
|
android:name=".Tab1"
|
||||||
android:label="@string/app_name"
|
|
||||||
android:theme="@android:style/Theme.Light.NoTitleBar"
|
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
||||||
<activity
|
<activity
|
||||||
android:name=".Tab2"
|
android:name=".Tab2"
|
||||||
android:label="@string/app_name"
|
|
||||||
android:theme="@android:style/Theme.Light.NoTitleBar"
|
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
||||||
<activity
|
<activity
|
||||||
android:name=".MySettings"
|
android:name=".MySettings"
|
||||||
android:label="@string/app_name"
|
|
||||||
android:theme="@android:style/Theme.Light.NoTitleBar"
|
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
|
||||||
<activity
|
<activity
|
||||||
android:name=".Home"
|
android:name=".Home"
|
||||||
|
|||||||
|
After Width: | Height: | Size: 130 KiB |
@@ -7,14 +7,12 @@ import android.os.Bundle;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdRequest;
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
|
|
||||||
public class Home extends AppCompatActivity {
|
public class Home extends AppCompatActivity {
|
||||||
|
|
||||||
Resources recs;
|
Resources recs;
|
||||||
@@ -56,23 +54,6 @@ public class Home extends AppCompatActivity {
|
|||||||
|
|
||||||
btnWhyVegan = (Button) findViewById(R.id.btnWhyVegan);
|
btnWhyVegan = (Button) findViewById(R.id.btnWhyVegan);
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Finally, load ads >:)
|
|
||||||
if (Build.VERSION.SDK_INT >= 9) {
|
|
||||||
// Load an ad into the AdMob banner view.
|
|
||||||
AdView adView = (AdView) findViewById(R.id.adViewHome);
|
|
||||||
AdRequest adRequest = new AdRequest.Builder()
|
|
||||||
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
|
|
||||||
.addTestDevice("C6A494DC6E7C9AC29102694D48487084") // nexus 7
|
|
||||||
.addTestDevice("B8B7561B850A9AB24E0D5B560FC50628") // Moto G
|
|
||||||
.addTestDevice("") // Cappy, even though it doesn't support ads
|
|
||||||
.setRequestAgent("android_studio:ad_template")
|
|
||||||
.build();
|
|
||||||
adView.loadAd(adRequest);
|
|
||||||
}
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.hyperling.carbupbeta;
|
package com.hyperling.carbupbeta;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.LinearLayout.LayoutParams;
|
import android.widget.LinearLayout.LayoutParams;
|
||||||
@@ -56,14 +57,27 @@ public class List extends ListInfo{
|
|||||||
setName(listInfo.getName());
|
setName(listInfo.getName());
|
||||||
|
|
||||||
// ========== Style the buttons ==========
|
// ========== Style the buttons ==========
|
||||||
// Color!
|
/* Color! */
|
||||||
linearLayout.setBackgroundColor(Color.BLACK);
|
int currentNightMode =
|
||||||
btnDelete.setBackgroundColor(Color.LTGRAY);
|
context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK
|
||||||
btnDelete.setTextColor(Color.BLACK);
|
;
|
||||||
btnEdit.setBackgroundColor(Color.LTGRAY);
|
switch (currentNightMode) {
|
||||||
btnEdit.setTextColor(Color.BLACK);
|
// Light Mode
|
||||||
btnItem.setBackgroundColor(Color.WHITE);
|
case Configuration.UI_MODE_NIGHT_NO:
|
||||||
btnItem.setTextColor(getRandomColor());
|
linearLayout.setBackgroundColor(Color.BLACK);
|
||||||
|
btnDelete.setBackgroundColor(Color.LTGRAY);
|
||||||
|
btnDelete.setTextColor(Color.BLACK);
|
||||||
|
btnEdit.setBackgroundColor(Color.LTGRAY);
|
||||||
|
btnEdit.setTextColor(Color.BLACK);
|
||||||
|
btnItem.setBackgroundColor(Color.WHITE);
|
||||||
|
btnItem.setTextColor(getRandomColor());
|
||||||
|
break;// Dark Mode
|
||||||
|
case Configuration.UI_MODE_NIGHT_YES:
|
||||||
|
// Night mode is active, we're using dark theme
|
||||||
|
btnItem.setBackgroundColor(Color.DKGRAY);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* */
|
||||||
// Size!
|
// Size!
|
||||||
//textSize = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth()/30;
|
//textSize = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth()/30;
|
||||||
btnDelete.setTextSize(16); //textSize-10);
|
btnDelete.setTextSize(16); //textSize-10);
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.hyperling.carbupbeta;
|
package com.hyperling.carbupbeta;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
@@ -64,13 +65,26 @@ public class ListItem extends ListItemInfo {
|
|||||||
setName(listItemInfo.getName ());
|
setName(listItemInfo.getName ());
|
||||||
|
|
||||||
// ========== Style the buttons ==========
|
// ========== Style the buttons ==========
|
||||||
// Color!
|
/* Color! */
|
||||||
linearLayout.setBackgroundColor(Color.BLACK);
|
int currentNightMode =
|
||||||
btnDelete.setBackgroundColor(Color.LTGRAY);
|
context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK
|
||||||
btnDelete.setTextColor(Color.BLACK);
|
;
|
||||||
btnEdit.setBackgroundColor(Color.LTGRAY);
|
switch (currentNightMode) {
|
||||||
btnEdit.setTextColor(Color.BLACK);
|
// Light Mode
|
||||||
btnItem.setBackgroundColor(Color.WHITE);
|
case Configuration.UI_MODE_NIGHT_NO:
|
||||||
|
linearLayout.setBackgroundColor(Color.BLACK);
|
||||||
|
btnDelete.setBackgroundColor(Color.LTGRAY);
|
||||||
|
btnDelete.setTextColor(Color.BLACK);
|
||||||
|
btnEdit.setBackgroundColor(Color.LTGRAY);
|
||||||
|
btnEdit.setTextColor(Color.BLACK);
|
||||||
|
btnItem.setBackgroundColor(Color.WHITE);
|
||||||
|
break;
|
||||||
|
// Dark Mode
|
||||||
|
case Configuration.UI_MODE_NIGHT_YES:
|
||||||
|
btnItem.setBackgroundColor(Color.DKGRAY);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
/* */
|
||||||
int[] colors = getColors(carbPerCal);
|
int[] colors = getColors(carbPerCal);
|
||||||
btnItem.setTextColor(Color.rgb(colors[0], colors[1], colors[2]));
|
btnItem.setTextColor(Color.rgb(colors[0], colors[1], colors[2]));
|
||||||
// Size!
|
// Size!
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ public class Main extends TabActivity {
|
|||||||
// Tab1
|
// Tab1
|
||||||
TabHost.TabSpec createListSpec = tabHost.newTabSpec("Create List");
|
TabHost.TabSpec createListSpec = tabHost.newTabSpec("Create List");
|
||||||
if (Build.VERSION.SDK_INT >= 21) {
|
if (Build.VERSION.SDK_INT >= 21) {
|
||||||
createListSpec.setIndicator("Choose List", getDrawable(R.drawable.dr_face_straight2_circle));
|
createListSpec.setIndicator("Choose List", getDrawable(R.drawable.add));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
createListSpec.setIndicator("Choose List");
|
createListSpec.setIndicator("Choose List");
|
||||||
@@ -87,7 +87,7 @@ public class Main extends TabActivity {
|
|||||||
// Settings/About Tab
|
// Settings/About Tab
|
||||||
TabHost.TabSpec mySettingsSpec = tabHost.newTabSpec("Settings");
|
TabHost.TabSpec mySettingsSpec = tabHost.newTabSpec("Settings");
|
||||||
if (Build.VERSION.SDK_INT >= 21) {
|
if (Build.VERSION.SDK_INT >= 21) {
|
||||||
mySettingsSpec.setIndicator("Settings", getDrawable(R.drawable.figsy_grass_circle_small));
|
mySettingsSpec.setIndicator("Settings", getDrawable(R.drawable.settings));
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
mySettingsSpec.setIndicator("Settings");
|
mySettingsSpec.setIndicator("Settings");
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import android.widget.RelativeLayout;
|
|||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ling on 1/1/16.
|
* Created by ling on 1/1/16.
|
||||||
@@ -18,7 +19,7 @@ public class MySettingItem extends MySettingInfo{
|
|||||||
|
|
||||||
private LinearLayout linearLayout;
|
private LinearLayout linearLayout;
|
||||||
private RelativeLayout relativeLayout;
|
private RelativeLayout relativeLayout;
|
||||||
Button btnItem;
|
TextView btnItem;
|
||||||
CheckBox checkBox;
|
CheckBox checkBox;
|
||||||
|
|
||||||
private int textSize;
|
private int textSize;
|
||||||
@@ -27,7 +28,7 @@ public class MySettingItem extends MySettingInfo{
|
|||||||
// Instantiate the Views
|
// Instantiate the Views
|
||||||
linearLayout = new LinearLayout(context);
|
linearLayout = new LinearLayout(context);
|
||||||
relativeLayout = new RelativeLayout(context);
|
relativeLayout = new RelativeLayout(context);
|
||||||
btnItem = new Button(context);
|
btnItem = new TextView(context);
|
||||||
checkBox = new CheckBox(context);
|
checkBox = new CheckBox(context);
|
||||||
|
|
||||||
// Give the views their required attributes (Wrap Content)
|
// Give the views their required attributes (Wrap Content)
|
||||||
@@ -36,7 +37,7 @@ public class MySettingItem extends MySettingInfo{
|
|||||||
LayoutParams item_lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
LayoutParams item_lp = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
||||||
RelativeLayout.LayoutParams check_lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
RelativeLayout.LayoutParams check_lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
|
||||||
|
|
||||||
lay_lp.setMargins(1, 1, 1, 1);
|
lay_lp.setMargins(4,4,4,4);
|
||||||
linearLayout.setLayoutParams(lay_lp);
|
linearLayout.setLayoutParams(lay_lp);
|
||||||
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
|
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
|
||||||
|
|
||||||
@@ -55,15 +56,17 @@ public class MySettingItem extends MySettingInfo{
|
|||||||
setName(info.getName());
|
setName(info.getName());
|
||||||
setEnabled(info.getEnabled());
|
setEnabled(info.getEnabled());
|
||||||
|
|
||||||
// ========== Style the buttons ==========
|
/* ========== Style the buttons ========== */
|
||||||
// Color!
|
/* Color! * /
|
||||||
linearLayout.setBackgroundColor(Color.LTGRAY);
|
linearLayout.setBackgroundColor(Color.LTGRAY);
|
||||||
relativeLayout.setBackgroundColor(Color.LTGRAY);
|
relativeLayout.setBackgroundColor(Color.DKGRAY);
|
||||||
btnItem.setBackgroundColor(Color.LTGRAY);
|
btnItem.setBackgroundColor(Color.LTGRAY);
|
||||||
btnItem.setTextColor(Color.BLACK);
|
btnItem.setTextColor(Color.BLACK);
|
||||||
|
/* */
|
||||||
// Size!
|
// Size!
|
||||||
//textSize = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth()/30;
|
//textSize = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getWidth()/30;
|
||||||
btnItem.setTextSize(24); // textSize);
|
btnItem.setTextSize(24); // textSize);
|
||||||
|
btnItem.setPadding(4,4,4,4);
|
||||||
|
|
||||||
// Add the items to the layout!
|
// Add the items to the layout!
|
||||||
relativeLayout.addView(checkBox);
|
relativeLayout.addView(checkBox);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class MySettings extends Activity {
|
|||||||
Context context;
|
Context context;
|
||||||
|
|
||||||
LinearLayout settingsArea;
|
LinearLayout settingsArea;
|
||||||
MySettingItem quickLoad, adsEnabled, rainbowLists, whiteOnBlack;
|
MySettingItem quickLoad, rainbowLists, whiteOnBlack;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
@@ -35,16 +35,13 @@ public class MySettings extends Activity {
|
|||||||
|
|
||||||
// Instantiate settings
|
// Instantiate settings
|
||||||
quickLoad = new MySettingItem(context, new MySettingInfo());
|
quickLoad = new MySettingItem(context, new MySettingInfo());
|
||||||
adsEnabled = new MySettingItem(context, new MySettingInfo());
|
|
||||||
|
|
||||||
// Name them
|
// Name them
|
||||||
quickLoad.setName("Quick Load:");
|
quickLoad.setName("Quick Load:");
|
||||||
adsEnabled.setName("Ads Enabled:");
|
|
||||||
|
|
||||||
// Set the checkboxes
|
// Set the checkboxes
|
||||||
dalih.open();
|
dalih.open();
|
||||||
quickLoad.setEnabled(dalih.getQuickLoad());
|
quickLoad.setEnabled(dalih.getQuickLoad());
|
||||||
adsEnabled.setEnabled(dalih.getAdsEnabled());
|
|
||||||
dalih.close();
|
dalih.close();
|
||||||
|
|
||||||
// Set the checkbox actions
|
// Set the checkbox actions
|
||||||
@@ -62,26 +59,8 @@ public class MySettings extends Activity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
adsEnabled.btnItem.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
dalih.setAdsEnabled(!dalih.getAdsEnabled());
|
|
||||||
adsEnabled.checkBox.setChecked(dalih.getAdsEnabled());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
adsEnabled.checkBox.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
dalih.setAdsEnabled(adsEnabled.checkBox.isChecked());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Throw them onto the screen
|
// Throw them onto the screen
|
||||||
settingsArea.addView(quickLoad.getView());
|
settingsArea.addView(quickLoad.getView());
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 9) {
|
|
||||||
settingsArea.addView(adsEnabled.getView());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -15,9 +15,6 @@ import android.widget.Toast;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdRequest;
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by usb on 9/28/14.
|
* Created by usb on 9/28/14.
|
||||||
*
|
*
|
||||||
@@ -35,7 +32,6 @@ public class Tab1 extends Activity{
|
|||||||
Button btnCreate;
|
Button btnCreate;
|
||||||
LinearLayout layListArea;
|
LinearLayout layListArea;
|
||||||
TextView tvLeft, tvRight, selectHeader;
|
TextView tvLeft, tvRight, selectHeader;
|
||||||
AdView mAdView;
|
|
||||||
|
|
||||||
// The lists!
|
// The lists!
|
||||||
ArrayList<List> lists = new ArrayList<List>();
|
ArrayList<List> lists = new ArrayList<List>();
|
||||||
@@ -58,7 +54,6 @@ public class Tab1 extends Activity{
|
|||||||
tvLeft = (TextView) findViewById(R.id.leftEditView);
|
tvLeft = (TextView) findViewById(R.id.leftEditView);
|
||||||
tvRight = (TextView) findViewById(R.id.rightEditView);
|
tvRight = (TextView) findViewById(R.id.rightEditView);
|
||||||
selectHeader = (TextView) findViewById(R.id.selectListHeader);
|
selectHeader = (TextView) findViewById(R.id.selectListHeader);
|
||||||
mAdView = (AdView) findViewById(R.id.adView);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -266,26 +261,6 @@ public class Tab1 extends Activity{
|
|||||||
|
|
||||||
dalih.open();
|
dalih.open();
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 9) {
|
|
||||||
if (dalih.getAdsEnabled()) {
|
|
||||||
if (mAdView.getVisibility() != View.VISIBLE) {
|
|
||||||
AdRequest adRequest = new AdRequest.Builder()
|
|
||||||
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
|
|
||||||
.addTestDevice("C6A494DC6E7C9AC29102694D48487084") // nexus 7
|
|
||||||
.addTestDevice("B8B7561B850A9AB24E0D5B560FC50628") // Moto G
|
|
||||||
.addTestDevice("") // Cappy, even though it can't get ads
|
|
||||||
.build();
|
|
||||||
mAdView.setVisibility(View.VISIBLE);
|
|
||||||
mAdView.loadAd(adRequest);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
if (mAdView.getVisibility() == View.VISIBLE) {
|
|
||||||
mAdView.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setButtonInsert();
|
setButtonInsert();
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|||||||
@@ -11,9 +11,6 @@ import android.widget.EditText;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdRequest;
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,7 +32,6 @@ public class Tab2 extends Activity{
|
|||||||
LinearLayout layListArea;
|
LinearLayout layListArea;
|
||||||
EditText txtName, txtCost, txtServings, txtCalories, txtCarbs, txtFiber;
|
EditText txtName, txtCost, txtServings, txtCalories, txtCarbs, txtFiber;
|
||||||
Button btnClear, btnAdd;
|
Button btnClear, btnAdd;
|
||||||
AdView mAdView;
|
|
||||||
|
|
||||||
// List
|
// List
|
||||||
ArrayList<ListItem> items = new ArrayList<ListItem>();
|
ArrayList<ListItem> items = new ArrayList<ListItem>();
|
||||||
@@ -61,7 +57,6 @@ public class Tab2 extends Activity{
|
|||||||
txtFiber = (EditText) findViewById(R.id.etItemFiber);
|
txtFiber = (EditText) findViewById(R.id.etItemFiber);
|
||||||
btnClear = (Button) findViewById(R.id.btnClear);
|
btnClear = (Button) findViewById(R.id.btnClear);
|
||||||
btnAdd = (Button) findViewById(R.id.btnAddToList);
|
btnAdd = (Button) findViewById(R.id.btnAddToList);
|
||||||
mAdView = (AdView) findViewById(R.id.adView);
|
|
||||||
|
|
||||||
// Give the Buttons their power
|
// Give the Buttons their power
|
||||||
btnClear.setOnClickListener(new View.OnClickListener() {
|
btnClear.setOnClickListener(new View.OnClickListener() {
|
||||||
@@ -91,26 +86,6 @@ public class Tab2 extends Activity{
|
|||||||
|
|
||||||
dalih.open();
|
dalih.open();
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= 9) {
|
|
||||||
if (dalih.getAdsEnabled()) {
|
|
||||||
if (mAdView.getVisibility() != View.VISIBLE) {
|
|
||||||
AdRequest adRequest = new AdRequest.Builder()
|
|
||||||
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
|
|
||||||
.addTestDevice("C6A494DC6E7C9AC29102694D48487084") // nexus 7
|
|
||||||
.addTestDevice("B8B7561B850A9AB24E0D5B560FC50628") // Moto G
|
|
||||||
.addTestDevice("") // Cappy, even though it can't get ads
|
|
||||||
.build();
|
|
||||||
mAdView.setVisibility(View.VISIBLE);
|
|
||||||
mAdView.loadAd(adRequest);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
if (mAdView.getVisibility() == View.VISIBLE) {
|
|
||||||
mAdView.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setButtonInsert();
|
setButtonInsert();
|
||||||
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
<!--
|
||||||
|
~ Copyright (C) 2026 The Android Open Source Project
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="960"
|
||||||
|
android:viewportHeight="960"
|
||||||
|
android:tint="#333333"
|
||||||
|
android:alpha="0.6">
|
||||||
|
<group android:scaleX="1.7142857"
|
||||||
|
android:scaleY="1.7142857"
|
||||||
|
android:translateX="-342.85715"
|
||||||
|
android:translateY="-342.85715">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M440,520L200,520L200,440L440,440L440,200L520,200L520,440L760,440L760,520L520,520L520,760L440,760L440,520Z"/>
|
||||||
|
</group>
|
||||||
|
</vector>
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
<!--
|
||||||
|
~ Copyright (C) 2026 The Android Open Source Project
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="24dp"
|
||||||
|
android:height="24dp"
|
||||||
|
android:viewportWidth="24"
|
||||||
|
android:viewportHeight="24"
|
||||||
|
android:tint="#333333"
|
||||||
|
android:alpha="0.6">
|
||||||
|
<group android:scaleX="1.2"
|
||||||
|
android:scaleY="1.2"
|
||||||
|
android:translateX="-2.4"
|
||||||
|
android:translateY="-2.4">
|
||||||
|
<path
|
||||||
|
android:fillColor="@android:color/white"
|
||||||
|
android:pathData="M19.14,12.94c0.04,-0.3 0.06,-0.61 0.06,-0.94c0,-0.32 -0.02,-0.64 -0.07,-0.94l2.03,-1.58c0.18,-0.14 0.23,-0.41 0.12,-0.61l-1.92,-3.32c-0.12,-0.22 -0.37,-0.29 -0.59,-0.22l-2.39,0.96c-0.5,-0.38 -1.03,-0.7 -1.62,-0.94L14.4,2.81c-0.04,-0.24 -0.24,-0.41 -0.48,-0.41h-3.84c-0.24,0 -0.43,0.17 -0.47,0.41L9.25,5.35C8.66,5.59 8.12,5.92 7.63,6.29L5.24,5.33c-0.22,-0.08 -0.47,0 -0.59,0.22L2.74,8.87C2.62,9.08 2.66,9.34 2.86,9.48l2.03,1.58C4.84,11.36 4.8,11.69 4.8,12s0.02,0.64 0.07,0.94l-2.03,1.58c-0.18,0.14 -0.23,0.41 -0.12,0.61l1.92,3.32c0.12,0.22 0.37,0.29 0.59,0.22l2.39,-0.96c0.5,0.38 1.03,0.7 1.62,0.94l0.36,2.54c0.05,0.24 0.24,0.41 0.48,0.41h3.84c0.24,0 0.44,-0.17 0.47,-0.41l0.36,-2.54c0.59,-0.24 1.13,-0.56 1.62,-0.94l2.39,0.96c0.22,0.08 0.47,0 0.59,-0.22l1.92,-3.32c0.12,-0.22 0.07,-0.47 -0.12,-0.61L19.14,12.94zM12,15.6c-1.98,0 -3.6,-1.62 -3.6,-3.6s1.62,-3.6 3.6,-3.6s3.6,1.62 3.6,3.6S13.98,15.6 12,15.6z"/>
|
||||||
|
</group>
|
||||||
|
</vector>
|
||||||
|
After Width: | Height: | Size: 186 B |
|
Before Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 696 B |
|
After Width: | Height: | Size: 117 B |
|
Before Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 439 B |
|
After Width: | Height: | Size: 193 B |
|
Before Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 941 B |
|
After Width: | Height: | Size: 411 B |
|
Before Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="353"
|
||||||
|
android:viewportHeight="168.75">
|
||||||
|
<group android:scaleX="0.4776923"
|
||||||
|
android:scaleY="0.22835858"
|
||||||
|
android:translateX="92.18731"
|
||||||
|
android:translateY="65.480446">
|
||||||
|
<group android:translateY="133.59375">
|
||||||
|
<path android:pathData="M73.6875,-32.5625L87.1875,-32.5625Q86.140625,-22.859375,81.640625,-15.1875Q77.140625,-7.53125,68.90625,-3.0625Q60.6875,1.40625,48.375,1.40625Q39.375,1.40625,32.03125,-1.96875Q24.6875,-5.34375,19.40625,-11.5625Q14.140625,-17.796875,11.28125,-26.546875Q8.4375,-35.296875,8.4375,-46.0625L8.4375,-56.25Q8.4375,-67.015625,11.28125,-75.765625Q14.140625,-84.515625,19.515625,-90.765625Q24.890625,-97.03125,32.484375,-100.40625Q40.078125,-103.78125,49.578125,-103.78125Q61.171875,-103.78125,69.1875,-99.421875Q77.203125,-95.0625,81.671875,-87.359375Q86.140625,-79.671875,87.1875,-69.546875L73.6875,-69.546875Q72.703125,-76.71875,70.03125,-81.875Q67.359375,-87.046875,62.4375,-89.859375Q57.515625,-92.671875,49.578125,-92.671875Q42.75,-92.671875,37.578125,-90.0625Q32.421875,-87.46875,28.9375,-82.6875Q25.453125,-77.90625,23.6875,-71.21875Q21.9375,-64.546875,21.9375,-56.390625L21.9375,-46.0625Q21.9375,-38.53125,23.515625,-31.921875Q25.109375,-25.3125,28.34375,-20.3125Q31.578125,-15.328125,36.5625,-12.484375Q41.5625,-9.640625,48.375,-9.640625Q57.03125,-9.640625,62.15625,-12.375Q67.296875,-15.125,69.921875,-20.25Q72.5625,-25.390625,73.6875,-32.5625Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path android:pathData="M143.71875,-102.375L143.71875,0L130.35938,0L130.35938,-102.375L143.71875,-102.375ZM176.625,-102.375L176.625,-91.265625L97.515625,-91.265625L97.515625,-102.375L176.625,-102.375Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path android:pathData="M205.45312,-102.375L205.45312,0L191.89062,0L191.89062,-102.375L205.45312,-102.375ZM248.34375,-56.328125L248.34375,-45.21875L202.5,-45.21875L202.5,-56.328125L248.34375,-56.328125ZM255.3125,-102.375L255.3125,-91.265625L202.5,-91.265625L202.5,-102.375L255.3125,-102.375Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path android:pathData="M330.45312,-102.375L343.95312,-102.375L343.95312,-33.125Q343.95312,-21.59375,338.8125,-13.921875Q333.6875,-6.265625,325.21875,-2.421875Q316.75,1.40625,306.82812,1.40625Q296.42188,1.40625,288.01562,-2.421875Q279.625,-6.265625,274.73438,-13.921875Q269.84375,-21.59375,269.84375,-33.125L269.84375,-102.375L283.28125,-102.375L283.28125,-33.125Q283.28125,-25.109375,286.23438,-19.90625Q289.1875,-14.703125,294.48438,-12.171875Q299.79688,-9.640625,306.82812,-9.640625Q313.9375,-9.640625,319.23438,-12.171875Q324.54688,-14.703125,327.5,-19.90625Q330.45312,-25.109375,330.45312,-33.125L330.45312,-102.375Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</vector>
|
||||||
@@ -50,7 +50,8 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:layout_weight=".45"
|
android:layout_weight=".45"
|
||||||
android:weightSum="1">
|
android:weightSum="1"
|
||||||
|
style="?android:attr/buttonBarStyle">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -64,7 +65,8 @@
|
|||||||
android:text="Why High Carb?"
|
android:text="Why High Carb?"
|
||||||
android:textColor="@color/textPrimaryInverse"
|
android:textColor="@color/textPrimaryInverse"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
android:id="@+id/btnWhyHCLF"/>
|
android:id="@+id/btnWhyHCLF"
|
||||||
|
style="?android:attr/buttonBarButtonStyle" />
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -78,17 +80,9 @@
|
|||||||
android:text="Why Vegan?"
|
android:text="Why Vegan?"
|
||||||
android:textColor="@color/textAccentInverse"
|
android:textColor="@color/textAccentInverse"
|
||||||
android:textAllCaps="false"
|
android:textAllCaps="false"
|
||||||
android:id="@+id/btnWhyVegan"/>
|
android:id="@+id/btnWhyVegan"
|
||||||
|
style="?android:attr/buttonBarButtonStyle" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adViewHome"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight=".1"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
ads:adUnitId="@string/banner_ad_home">
|
|
||||||
</com.google.android.gms.ads.AdView>
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="?android:actionBarSize"
|
||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
|
|||||||
@@ -2,12 +2,13 @@
|
|||||||
|
|
||||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="?android:actionBarSize">
|
||||||
|
|
||||||
<TabHost
|
<TabHost
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/title"
|
android:layout_alignParentTop="true"
|
||||||
android:id="@android:id/tabhost">
|
android:id="@android:id/tabhost">
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -50,4 +49,4 @@
|
|||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|||||||
@@ -68,22 +68,10 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adView"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
android:visibility="gone"
|
|
||||||
ads:adUnitId="@string/banner_ad_tab1">
|
|
||||||
</com.google.android.gms.ads.AdView>
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true">
|
||||||
android:layout_above="@+id/adView">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -96,4 +84,4 @@
|
|||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -97,22 +97,10 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adView"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
android:visibility="gone"
|
|
||||||
ads:adUnitId="@string/banner_ad_tab2">
|
|
||||||
</com.google.android.gms.ads.AdView>
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true">
|
||||||
android:layout_above="@+id/adView">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -125,4 +113,4 @@
|
|||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
|
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
|
||||||
|
</adaptive-icon>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
|
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/>
|
||||||
|
</adaptive-icon>
|
||||||
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="ic_launcher_background">#FFFFFF</color>
|
||||||
|
</resources>
|
||||||
@@ -1,16 +1,18 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<string name="app_name">Carb Up! BETA</string>
|
<string name="app_name">Carb Up!</string>
|
||||||
<string name="app_name_long">Carb Up! CTFU Helper</string>
|
<string name="app_name_long">Carb Up! CTFU Helper</string>
|
||||||
<string name="app_name_short">Carb Up!</string>
|
<string name="app_name_short">Carb Up!</string>
|
||||||
<string name="action_settings">Settings</string>
|
<string name="action_settings">Settings</string>
|
||||||
<string name="title_activity_main">Main</string>
|
<string name="title_activity_main">Main</string>
|
||||||
<string name="version_name">-=Version Banana=-</string>
|
<string name="version_name">-= Version Mango =-</string>
|
||||||
<string name="version_number">-=Beta v0.10=-</string>
|
<string name="version_number">-= v1.0.2 =-</string>
|
||||||
|
|
||||||
<string name="author">Hyperling</string>
|
<string name="author">Hyperling</string>
|
||||||
|
|
||||||
|
<string name="title_activity_home">Home</string>
|
||||||
|
|
||||||
<!-- Tab1 Views -->
|
<!-- Tab1 Views -->
|
||||||
|
|
||||||
<string name="list_header">Create a New List:</string>
|
<string name="list_header">Create a New List:</string>
|
||||||
@@ -52,14 +54,4 @@
|
|||||||
<string name="delete_dialog_ok">Delete</string>
|
<string name="delete_dialog_ok">Delete</string>
|
||||||
<string name="delete_dialog_cancel">Cancel</string>
|
<string name="delete_dialog_cancel">Cancel</string>
|
||||||
|
|
||||||
<!-- Ads -->
|
|
||||||
|
|
||||||
<string name="banner_ad_unit_id">ca-app-pub-9712416021907617/1895014881</string>
|
|
||||||
<string name="banner_ad_tab1">ca-app-pub-9712416021907617/1895014881</string>
|
|
||||||
<string name="banner_ad_tab2">ca-app-pub-9712416021907617/6325214486</string>
|
|
||||||
<string name="banner_ad_home">ca-app-pub-9712416021907617/4055112081</string>
|
|
||||||
<string name="interstitial_ad_splash">ca-app-pub-9712416021907617/9278680882</string>
|
|
||||||
<string name="title_activity_home">Home</string>
|
|
||||||
|
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -14,4 +14,34 @@
|
|||||||
<item name="windowNoTitle">true</item>
|
<item name="windowNoTitle">true</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<style name="OriginalTheme"
|
||||||
|
parent="@android:style/Theme.Light.NoTitleBar">
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="CarbUp" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||||
|
<item name="windowActionBar">false</item>
|
||||||
|
<item name="windowNoTitle">true</item>
|
||||||
|
<item name="android:windowActionBar">false</item>
|
||||||
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<!--
|
||||||
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
<item name="android:colorForeground">@color/colorPrimary</item>
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="CarbUpTesting" parent="@android:style/Theme.DeviceDefault">
|
||||||
|
<item name="windowActionBar">false</item>
|
||||||
|
<item name="windowNoTitle">true</item>
|
||||||
|
<item name="android:windowActionBar">false</item>
|
||||||
|
<item name="android:windowNoTitle">true</item>
|
||||||
|
<!--
|
||||||
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
<item name="colorAccent">@color/colorAccent</item>
|
||||||
|
<item name="android:colorForeground">@color/colorPrimary</item>
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 308 KiB After Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 58 KiB |
@@ -2,10 +2,18 @@
|
|||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
mavenCentral()
|
||||||
|
maven {
|
||||||
|
url 'https://jitpack.io'
|
||||||
|
}
|
||||||
|
google()
|
||||||
|
maven {
|
||||||
|
url 'https://maven.google.com/'
|
||||||
|
name 'Google'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:1.5.0'
|
classpath 'com.android.tools.build:gradle:9.4.1'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
@@ -14,6 +22,11 @@ buildscript {
|
|||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
mavenCentral()
|
||||||
|
google()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
tasks.register('clean', Delete) {
|
||||||
|
delete rootProject.buildDir
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
AuthorName: 'Chad Michael "Hyperling" Greenwood'
|
||||||
|
AuthorWebSite: 'https://hyperling.com/about/'
|
||||||
|
Donate: 'https://hyperling.com/donate/'
|
||||||
|
Liberapay: 'HyperVegan'
|
||||||
|
Bitcoin: 'bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0'
|
||||||
|
Litecoin: 'ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx'
|
||||||
|
IssueTracker: 'https://hyperling.com/contact/'
|
||||||
|
Categories:
|
||||||
|
- fdroid
|
||||||
|
- hyperling
|
||||||
|
- utilities
|
||||||
|
Name: Carb Up! Helper
|
||||||
|
AuthorEmail: 'me+carbup@hyperling.com'
|
||||||
|
Summary: 'Calculate cost-effective foods on a High Carb Low Fat lifestyle.'
|
||||||
|
SourceCode: 'https://git.hyperling.com/me/android-carb-up/'
|
||||||
|
WebSite: 'https://hyperling.com/apps/#ctfu'
|
||||||
@@ -15,4 +15,15 @@
|
|||||||
# When configured, Gradle will run in incubating parallel mode.
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
# This option should only be used with decoupled projects. More details, visit
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
# org.gradle.parallel=true
|
# org.gradle.parallel=true
|
||||||
|
android.builtInKotlin=false
|
||||||
|
android.defaults.buildfeatures.resvalues=true
|
||||||
|
android.dependency.useConstraints=true
|
||||||
|
android.enableAppCompileTimeRClass=false
|
||||||
|
android.newDsl=false
|
||||||
|
android.r8.optimizedResourceShrinking=false
|
||||||
|
android.r8.strictFullModeForKeepRules=false
|
||||||
|
android.sdk.defaultTargetSdkToCompileSdkIfUnset=false
|
||||||
|
android.uniquePackageNames=false
|
||||||
|
android.useAndroidX=false
|
||||||
|
android.usesSdkInManifest.disallowed=false
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#This file is generated by updateDaemonJvm
|
||||||
|
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/491f83666ae7f4d6ebb28fee72ebb035/redirect
|
||||||
|
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/0d1a1acdc708062093673f65aa9aba4b/redirect
|
||||||
|
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/491f83666ae7f4d6ebb28fee72ebb035/redirect
|
||||||
|
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/0d1a1acdc708062093673f65aa9aba4b/redirect
|
||||||
|
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/7083b89563e7ce20943037b8cd2b8cc2/redirect
|
||||||
|
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/060bbb778a1f55ea705fdebd2ccfeab9/redirect
|
||||||
|
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/491f83666ae7f4d6ebb28fee72ebb035/redirect
|
||||||
|
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/0d1a1acdc708062093673f65aa9aba4b/redirect
|
||||||
|
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/d09679dc60fe5aa05ef7d03efdefac20/redirect
|
||||||
|
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/ed4e3bf2f5e7c5d9aabc4cbd8acd555e/redirect
|
||||||
|
toolchainVendor=JETBRAINS
|
||||||
|
toolchainVersion=21
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#Wed Apr 10 15:27:10 PDT 2013
|
#Fri Jul 11 14:14:34 MST 2025
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.0-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
|
|
||||||
|
|||||||
@@ -1 +1,4 @@
|
|||||||
|
plugins {
|
||||||
|
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
|
||||||
|
}
|
||||||
include ':app'
|
include ':app'
|
||||||
|
|||||||