42 Commits
Author SHA1 Message Date
me f67a61ff28 Merge pull request '1.0.3' (#5) from dev into main
Reviewed-on: #5
2026-10-01 19:09:34 -07:00
me 82e929f145 changelog, fix extra newline. 2026-10-01 19:08:28 -07:00
me 8c72161f7d changelog, add file. 2026-10-01 19:08:07 -07:00
me ecdbab6556 manifest, shrink the APK even more, update versionCode this time. 2026-10-01 19:01:41 -07:00
me 081ac97b39 Merge pull request '1.0.2' (#4) from dev into main
Reviewed-on: #4
2026-10-01 16:48:20 -07:00
me 75747aa9e9 main, try to use some clip art for the tab icons but still not working, letting it continue not working silently. 2026-10-01 16:46:00 -07:00
me 308c86440f manifest, ensure the proper icon is being used. 2026-10-01 16:45:03 -07:00
me 3e8941f892 icons, remove more unused DR and Figsy references. 2026-10-01 16:44:47 -07:00
me 6d39c65b71 icon, add a file generated by Lumo and use it as the new launcher. 2026-10-01 16:25:38 -07:00
me 7329eef9cc icons, remove accidental creates. 2026-10-01 16:09:54 -07:00
me 7d48b7564d main, replace icons for tabs, not showing up but also not failing. 2026-10-01 15:57:01 -07:00
me 9b317f38dc strings, fix version. 2026-10-01 15:52:53 -07:00
me b781167f8d gradle, take all the upgrade suggestions. 2026-10-01 15:47:20 -07:00
me b4dba91aae build, update version and fix proguard filename. 2026-10-01 15:44:14 -07:00
me 602c235522 icon, change back to DR, accidentally went to Figsy. 2026-10-01 15:42:40 -07:00
me c65b5c6714 manifest, ensure the generated icons are being used. 2026-10-01 15:42:24 -07:00
me 18e2577375 icons, refactor their locations to be consistent. 2026-10-01 15:42:04 -07:00
me 1b5f1771cb icon, fix for newer versions of Android. 2026-10-01 15:34:28 -07:00
me 833e0e2776 fdroid, add specifier to email and put the field in the app-specific section. 2026-09-29 07:16:35 -07:00
me 0afb15da25 Add more fdroid details while refactoring the file. 2026-07-04 14:59:33 -07:00
me e90f3e381e Update issue tracker to be proper HTTP link, use contact page. Change website page to go directly to the app. 2026-07-04 10:48:14 -07:00
me 7195e99cbb Merge pull request 'Add manifest file for self-hosted F-Droid repo.' (#3) from dev into main
Reviewed-on: #3
2026-07-04 10:18:20 -07:00
me 2dd6fc1002 Add manifest file for self-hosted F-Droid repo. 2026-07-04 10:16:17 -07:00
me 48e88484cc Merge pull request 'Remove BETA' (#2) from dev into main
Reviewed-on: #2
2025-07-20 19:56:07 -07:00
me 49f02cc85d Update the app version. 2025-07-20 19:52:48 -07:00
me 299e3f721f Remove BETA from the app name. 2025-07-20 19:52:01 -07:00
me a9b0dd43d6 Merge pull request 'Update Target SDK' (#1) from dev into main
Reviewed-on: #1
2025-07-20 19:37:12 -07:00
me e2b00eda83 Fix URL. 2025-07-20 19:31:46 -07:00
me 85cc437b91 Stay with the NoActionBar theme, even though the bar did not show up with DarkActionBar set. 2025-07-20 19:28:36 -07:00
me 35c2e800b3 Fix the app theme for both new and old devices. Giving up on showing the tab icons in place of having light vs dark theme. 2025-07-20 19:19:46 -07:00
me 255e2c46d4 Set the round icon attribute. 2025-07-20 19:16:52 -07:00
me 3a46ef7f2a Properly sit under the status bar. 2025-07-12 13:15:54 -07:00
me 10c0e1bfff Adjust newlines. 2025-07-12 13:15:37 -07:00
me 0627aca876 Remove code for Ads, were not in use anyways after falling out of Google Play guidelines. 2025-07-12 13:15:22 -07:00
me fe32d063c8 Working on getting the style to work properly, currently showing black bars due to old theme. 2025-07-12 13:12:38 -07:00
me 0ce4099348 Fix the location of the view by accounting for the action bar size. 2025-07-12 13:12:01 -07:00
me f0b4008efa Update version string and remove ad IDs. 2025-07-12 13:11:34 -07:00
me 8433966f37 Remove the compile lines and add what Infinite Timer is doing. 2025-07-12 13:11:03 -07:00
me 31a48209d2 Add trailing newline. 2025-07-12 13:10:30 -07:00
me 0e2ddd5fd3 Use the gradle settings which got Infinite Timer building correctly to see if it also works for this project. 2025-07-12 10:01:26 -07:00
me 8906d8d2f9 Update status and add link to upgrade article. 2025-07-12 09:55:58 -07:00
me 7a59c59d47 Allow app to be installed by current and future Android versions. 2025-07-11 13:15:44 -07:00
75 changed files with 331 additions and 204 deletions
+27
View File
@@ -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.
+8 -3
View File
@@ -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.
+23 -8
View File
@@ -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"
} }
+5 -15
View File
@@ -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"
Binary file not shown.

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();
+31
View File
@@ -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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 941 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

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>
+6 -12
View File
@@ -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"
+3 -2
View File
@@ -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
-1
View File
@@ -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"
+1 -13
View File
@@ -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"
+1 -13
View File
@@ -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"
@@ -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>
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

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>
+5 -13
View File
@@ -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>
+30
View File
@@ -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>
View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

+16 -3
View File
@@ -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
}
+16
View File
@@ -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'
+11
View File
@@ -16,3 +16,14 @@
# 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
+13
View File
@@ -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
+2 -2
View File
@@ -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
+3
View File
@@ -1 +1,4 @@
plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}
include ':app' include ':app'