]> git.ktnx.net Git - mobile-ledger.git/blobdiff - app/src/main/java/net/ktnx/mobileledger/utils/Misc.java
minor optimization: avoid constructing empty string object
[mobile-ledger.git] / app / src / main / java / net / ktnx / mobileledger / utils / Misc.java
index c75b6339ae0fb0b074deed2d2088ed7c0e811fd2..197fe6d0d1fbbc2645ef7666c2f332bcd01e2c29 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2020 Damyan Ivanov.
+ * Copyright © 2021 Damyan Ivanov.
  * This file is part of MoLe.
  * MoLe is free software: you can distribute it and/or modify it
  * under the term of the GNU General Public License as published by
@@ -26,10 +26,13 @@ import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
 
+import org.jetbrains.annotations.Contract;
+
 public class Misc {
     public static boolean isZero(float f) {
         return (f < 0.005) && (f > -0.005);
     }
+    public static boolean equalFloats(float a, float b) { return isZero(a - b); }
     public static void showSoftKeyboard(Activity activity) {
         // make the keyboard appear
         Configuration cf = activity.getResources()
@@ -59,7 +62,7 @@ public class Misc {
 
     }
     public static String emptyIsNull(String str) {
-        return "".equals(str) ? null : str;
+        return str != null && str.isEmpty() ? null : str;
     }
     public static String nullIsEmpty(String str) {
         return (str == null) ? "" : str;
@@ -81,4 +84,22 @@ public class Misc {
 
         return string.trim();
     }
+    @Contract(value = "null, null -> true; null, !null -> false; !null, null -> false", pure = true)
+    public static boolean equalIntegers(Integer a, Integer b) {
+        if (a == null && b == null)
+            return true;
+        if (a == null || b == null)
+            return false;
+
+        return a.equals(b);
+    }
+    @Contract(value = "null, null -> true; null, !null -> false; !null, null -> false", pure = true)
+    public static boolean equalLongs(Long a, Long b) {
+        if (a == null && b == null)
+            return true;
+        if (a == null || b == null)
+            return false;
+
+        return a.equals(b);
+    }
 }