Skip to content

Commit

Permalink
updates to model prices, libraries and renamed files
Browse files Browse the repository at this point in the history
  • Loading branch information
DevEmperor committed Sep 25, 2024
1 parent fcc373c commit 5434b60
Show file tree
Hide file tree
Showing 16 changed files with 57 additions and 63 deletions.
22 changes: 11 additions & 11 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ android {
defaultConfig {
applicationId 'net.devemperor.wristassist'
minSdk 26
targetSdk 33
targetSdk 34
versionCode 31
versionName "3.1.1"
}
Expand All @@ -31,23 +31,23 @@ android {
}

dependencies {
implementation 'com.google.android.gms:play-services-wearable:18.1.0'
implementation 'com.google.android.gms:play-services-wearable:18.2.0'
implementation 'androidx.wear:wear:1.3.0'
implementation 'androidx.wear:wear-input:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.viewpager2:viewpager2:1.0.0'
implementation 'com.google.android.material:material:1.11.0'
implementation 'com.google.mlkit:language-id:17.0.4'
implementation 'androidx.viewpager2:viewpager2:1.1.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'com.google.mlkit:language-id:17.0.6'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.wear.watchface:watchface-complications-data-source-ktx:1.2.1'

implementation 'com.theokanning.openai-gpt3-java:service:0.18.2'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-jackson:2.9.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2'
implementation 'commons-validator:commons-validator:1.7'
implementation 'com.squareup.retrofit2:retrofit:2.11.0'
implementation 'com.squareup.retrofit2:converter-jackson:2.11.0'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.17.0'
implementation 'commons-validator:commons-validator:1.9.0'
implementation 'com.jsibbold:zoomage:1.3.1'
implementation 'com.github.kenglxn.QRGen:android:3.0.1'
implementation 'com.squareup.picasso:picasso:2.8'
Expand All @@ -58,6 +58,6 @@ dependencies {
implementation 'io.noties.markwon:ext-tables:4.6.2'
implementation 'io.noties.markwon:ext-tasklist:4.6.2'

implementation(platform("com.google.firebase:firebase-bom:32.5.0"))
implementation(platform("com.google.firebase:firebase-bom:33.3.0"))
implementation("com.google.firebase:firebase-crashlytics")
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import net.devemperor.wristassist.BuildConfig;
import net.devemperor.wristassist.R;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;


public class AboutActivity extends Activity {
Expand All @@ -20,7 +20,7 @@ protected void onCreate(Bundle savedInstanceState) {

TextView aboutText = findViewById(R.id.version_tv);
aboutText.setText(getString(R.string.wristassist_about, BuildConfig.VERSION_NAME));
aboutText.setTextSize(16 * Util.getFontMultiplier(this));
aboutText.setTextSize(16 * WristAssistUtil.getFontMultiplier(this));

ImageView icon = findViewById(R.id.icon);
icon.setOnLongClickListener(v -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
import net.devemperor.wristassist.database.ChatHistoryModel;
import net.devemperor.wristassist.database.UsageDatabaseHelper;
import net.devemperor.wristassist.items.ChatItem;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import org.json.JSONArray;
import org.json.JSONException;
Expand Down Expand Up @@ -276,7 +276,7 @@ private void query(String query) throws JSONException, IOException {
Usage usage = result.getUsage();
ChatItem assistantItem = new ChatItem(answer, usage.getTotalTokens());

usageDatabaseHelper.edit(finalModel, usage.getTotalTokens(), Util.calcCostChat(finalModel, usage.getPromptTokens(), usage.getCompletionTokens()));
usageDatabaseHelper.edit(finalModel, usage.getTotalTokens(), WristAssistUtil.calcCostChat(finalModel, usage.getPromptTokens(), usage.getCompletionTokens()));

if (Thread.interrupted()) {
return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import net.devemperor.wristassist.database.ImageModel;
import net.devemperor.wristassist.database.ImagesDatabaseHelper;
import net.devemperor.wristassist.database.UsageDatabaseHelper;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.io.FileOutputStream;
import java.io.IOException;
Expand Down Expand Up @@ -169,7 +169,7 @@ public void run() {
}
}, 0, 60*1000);

usageDatabaseHelper.edit(model, 1, Util.calcCostImage(model, quality, size));
usageDatabaseHelper.edit(model, 1, WristAssistUtil.calcCostImage(model, quality, size));

OkHttpClient downloadClient = new OkHttpClient();
Request request = new Request.Builder().url(image.getUrl()).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import net.devemperor.wristassist.R;
import net.devemperor.wristassist.database.ImageModel;
import net.devemperor.wristassist.database.ImagesDatabaseHelper;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.io.File;
import java.text.SimpleDateFormat;
Expand Down Expand Up @@ -67,14 +67,14 @@ protected void onCreate(Bundle savedInstanceState) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd\nHH:mm:ss", Locale.getDefault());
promptTv.setText(imageModel.getPrompt());
modelTv.setText(Util.translate(this, imageModel.getModel()));
modelTv.setText(WristAssistUtil.translate(this, imageModel.getModel()));
createdTv.setText(formatter.format(imageModel.getCreated()));
sizeTv.setText(imageModel.getSize());

if (imageModel.getRevisedPrompt() != null && imageModel.getQuality() != null && imageModel.getStyle() != null) {
revisedPromptTv.setText(imageModel.getRevisedPrompt());
qualityTv.setText(Util.translate(this, imageModel.getQuality()));
styleTv.setText(Util.translate(this, imageModel.getStyle()));
qualityTv.setText(WristAssistUtil.translate(this, imageModel.getQuality()));
styleTv.setText(WristAssistUtil.translate(this, imageModel.getStyle()));
} else {
findViewById(R.id.open_image_revised_prompt_descriptor_tv).setVisibility(TextView.GONE);
revisedPromptTv.setVisibility(TextView.GONE);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import net.devemperor.wristassist.adapters.SavedChatsAdapter;
import net.devemperor.wristassist.database.ChatHistoryDatabaseHelper;
import net.devemperor.wristassist.database.ChatHistoryModel;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.util.List;

Expand Down Expand Up @@ -56,7 +56,7 @@ protected void onCreate(Bundle savedInstanceState) {

TextView noSavedChats = findViewById(R.id.no_saved_chats);
noSavedChats.setVisibility(chats.isEmpty() ? android.view.View.VISIBLE : android.view.View.GONE);
noSavedChats.setTextSize(16 * Util.getFontMultiplier(this));
noSavedChats.setTextSize(16 * WristAssistUtil.getFontMultiplier(this));

savedChatsWrv.requestFocus();
savedChatsWrv.setOnGenericMotionListener((v, ev) -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

import net.devemperor.wristassist.R;
import net.devemperor.wristassist.items.ChatItem;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.text.DecimalFormat;
import java.util.List;
Expand Down Expand Up @@ -91,7 +91,7 @@ public View getView (int position, View convertView, @NonNull ViewGroup parent)

TextView chatItem = listItem.findViewById(R.id.chat_item_text);
chatItem.setTextSize(context.getSharedPreferences("net.devemperor.wristassist", Context.MODE_PRIVATE)
.getInt("net.devemperor.wristassist.font_size", 15) * Util.getFontMultiplier(context));
.getInt("net.devemperor.wristassist.font_size", 15) * WristAssistUtil.getFontMultiplier(context));

ChatMessage chatMessage = objects.get(position).getChatMessage();
chatItem.setOnClickListener(v -> launchTTS(chatMessage.getContent()));
Expand Down Expand Up @@ -178,7 +178,7 @@ public int getCount() {
private void setLeadingMarginSpan(TextView textView, Drawable drawable) {
final Spanned spanned = markwon.toMarkdown(textView.getText().toString());

BitmapDrawable bitmapDrawable = new BitmapDrawable(textView.getResources(), Util.drawableToBitmap(drawable));
BitmapDrawable bitmapDrawable = new BitmapDrawable(textView.getResources(), WristAssistUtil.drawableToBitmap(drawable));
bitmapDrawable.setBounds(0, 0, (int) (drawable.getIntrinsicWidth() * 1.1), (int) (drawable.getIntrinsicHeight() * 1.1));

ImageSpan imageSpan = new ImageSpan(bitmapDrawable, AsyncDrawableSpan.ALIGN_BOTTOM);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import net.devemperor.wristassist.R;
import net.devemperor.wristassist.items.MainItem;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.io.IOException;
import java.util.List;
Expand Down Expand Up @@ -56,7 +56,7 @@ public void onBindViewHolder(RecyclerViewHolder holder, final int position) {
MainItem dataProvider = data.get(position);

holder.menuItem.setText(dataProvider.getText());
holder.menuItem.setTextSize(24 * Util.getFontMultiplier(holder.menuItem.getContext()));
holder.menuItem.setTextSize(24 * WristAssistUtil.getFontMultiplier(holder.menuItem.getContext()));
holder.menuIcon.setImageResource(dataProvider.getIcon());
holder.menuContainer.setOnClickListener(v -> {
if (callback != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

import net.devemperor.wristassist.R;
import net.devemperor.wristassist.activities.MainActivity;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

public class OnboardingAdapter extends RecyclerView.Adapter<OnboardingAdapter.ViewHolder> {

Expand All @@ -37,10 +37,10 @@ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
if (position == 0) {
TextView welcomeTv = holder.itemView.findViewById(R.id.welcome_tv);
welcomeTv.setTextSize(20 * Util.getFontMultiplier(welcomeTv.getContext()));
welcomeTv.setTextSize(20 * WristAssistUtil.getFontMultiplier(welcomeTv.getContext()));
} else if (position == 1) {
TextView infoTv = holder.itemView.findViewById(R.id.info_tv);
infoTv.setTextSize(16 * Util.getFontMultiplier(infoTv.getContext()));
infoTv.setTextSize(16 * WristAssistUtil.getFontMultiplier(infoTv.getContext()));
} else if (position == 2) {
ImageView qrCodeIv = holder.itemView.findViewById(R.id.qrcode_iv);
qrCodeIv.setOnClickListener(v -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import net.devemperor.wristassist.R;
import net.devemperor.wristassist.database.ChatHistoryModel;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.util.List;

Expand Down Expand Up @@ -52,7 +52,7 @@ public void onBindViewHolder(RecyclerViewHolder holder, final int position) {
ChatHistoryModel dataProvider = data.get(position);

holder.savedChatTitle.setText(dataProvider.getTitle());
holder.savedChatTitle.setTextSize(18 * Util.getFontMultiplier(holder.savedChatTitle.getContext()));
holder.savedChatTitle.setTextSize(18 * WristAssistUtil.getFontMultiplier(holder.savedChatTitle.getContext()));

holder.savedChatContainer.setOnClickListener(v -> {
if (callback != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import net.devemperor.wristassist.R;
import net.devemperor.wristassist.database.UsageModel;
import net.devemperor.wristassist.util.Util;
import net.devemperor.wristassist.util.WristAssistUtil;

import java.util.List;
import java.util.Locale;
Expand All @@ -36,8 +36,8 @@ public View getView (int position, View convertView, @NonNull ViewGroup parent)
UsageModel dataProvider = objects.get(position);

TextView modelNameTv = listItem.findViewById(R.id.usage_model_tv);
modelNameTv.setText(Util.translate(context, dataProvider.getModelName()));
modelNameTv.setTextSize(18 * Util.getFontMultiplier(context));
modelNameTv.setText(WristAssistUtil.translate(context, dataProvider.getModelName()));
modelNameTv.setTextSize(18 * WristAssistUtil.getFontMultiplier(context));

TextView tokensTv = listItem.findViewById(R.id.usage_tokens_tv);
if (dataProvider.getModelName().startsWith("gpt")) {
Expand All @@ -47,12 +47,12 @@ public View getView (int position, View convertView, @NonNull ViewGroup parent)
tokensTv.setText(context.getString(R.string.wristassist_images_count,
String.format(Locale.getDefault(), "%,d", dataProvider.getTokens())));
}
tokensTv.setTextSize(16 * Util.getFontMultiplier(context));
tokensTv.setTextSize(16 * WristAssistUtil.getFontMultiplier(context));

TextView costTv = listItem.findViewById(R.id.usage_cost_tv);
costTv.setText(context.getString(R.string.wristassist_estimated_cost,
String.format(Locale.getDefault(), "%,.2f", dataProvider.getCost())));
costTv.setTextSize(16 * Util.getFontMultiplier(context));
costTv.setTextSize(16 * WristAssistUtil.getFontMultiplier(context));

return listItem;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import net.devemperor.wristassist.R;

public class Util {
public class WristAssistUtil {

public static Bitmap drawableToBitmap(Drawable drawable) {
if (drawable instanceof BitmapDrawable) {
Expand Down Expand Up @@ -39,29 +39,25 @@ public static double calcCostChat(String model, long promptTokens, long completi
double inputPrice = 0;
double outputPrice = 0;
switch (model) {
case "gpt-3.5-turbo":
inputPrice = 0.0005;
outputPrice = 0.0015;
break;
case "gpt-4o-mini":
inputPrice = 0.00015;
outputPrice = 0.0006;
break;
case "gpt-4-turbo-preview":
case "gpt-4o":
inputPrice = 0.0025;
outputPrice = 0.01;
break;
case "gpt-4-turbo":
inputPrice = 0.01;
outputPrice = 0.03;
break;
case "gpt-4":
inputPrice = 0.03;
outputPrice = 0.06;
break;
case "gpt-4-32k":
inputPrice = 0.06;
outputPrice = 0.12;
break;
case "gpt-4o":
inputPrice = 0.005;
outputPrice = 0.015;
case "gpt-3.5-turbo":
inputPrice = 0.0005;
outputPrice = 0.0015;
break;
}
return (inputPrice * promptTokens / 1000) + (outputPrice * completionTokens / 1000);
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/res/layout/activity_input.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
android:layout_marginHorizontal="32dp"
android:layout_marginTop="32dp"
android:gravity="center"
android:maxLines="2"
android:maxLines="3"
android:textSize="16sp"
android:textStyle="bold" />

Expand All @@ -39,7 +39,7 @@
android:layout_marginHorizontal="32dp"
android:layout_marginTop="16dp"
android:gravity="center"
android:maxLines="2"
android:maxLines="3"
android:textSize="16sp"
android:textStyle="bold" />

Expand Down
8 changes: 3 additions & 5 deletions app/src/main/res/values/arrays.xml
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="models_chat">
<item name="gpt-3.5-turbo">GPT-3.5 Turbo</item>
<item name="gpt-4o-mini">GPT-4 Omni Mini</item>
<item name="gpt-4o">GPT-4 Omni</item>
<item name="gpt-4-turbo">GPT-4 Turbo</item>
<item name="gpt-4">GPT-4</item>
<item name="gpt-4-32k">GPT-4 32K</item>
<item name="gpt-3.5-turbo">GPT-3.5 Turbo</item>
</string-array>
<string-array name="models_chat_values">
<item name="gpt-3.5-turbo">gpt-3.5-turbo</item>
<item name="gpt-4o-mini">gpt-4o-mini</item>
<item name="gpt-4o">gpt-4o</item>
<item name="gpt-4-turbo">gpt-4-turbo-preview</item>
<item name="gpt-4-turbo">gpt-4-turbo</item>
<item name="gpt-4">gpt-4</item>
<item name="gpt-4-32k">gpt-4-32k</item>
<item name="gpt-3.5-turbo">gpt-3.5-turbo</item>
</string-array>

<string-array name="image_sizes">
Expand Down
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.3.2' apply false
id 'com.android.library' version '8.3.2' apply false
id 'com.android.application' version '8.6.1' apply false
id 'com.android.library' version '8.6.1' apply false

// Add the dependency for the Google services Gradle plugin
id 'com.google.gms.google-services' version '4.4.0' apply false
id 'com.google.gms.google-services' version '4.4.2' apply false
// Add the dependency for the Crashlytics Gradle plugin
id 'com.google.firebase.crashlytics' version '2.9.9' apply false
id 'com.google.firebase.crashlytics' version '3.0.2' apply false
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#Tue Mar 07 08:30:12 CET 2023
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

0 comments on commit 5434b60

Please sign in to comment.