Lite bugreports(wifi/telephony) don't need screenshots

Set do_fb to false for lite bugreports to not take screenshots.

Also, add a nonempty check for screenshot files before broadcasting to
notification. This way while sharing or uploading to drive/gmail by
clicking the "Share" button would not show empty file (Not able to
upload) error.

Update unit tests to check for do_fb set to false for wifi/telephony.

Bug: 128546970
Test: Manually take a wifi bugreport:
    * adb root
    * adb shell setprop dumpstate.options bugreportwifi
    * adb shell dumpstate
    * share bugreport from the notification to the drive
    * No upload failures (previously screenshot would show "Upload was
    unsuccessful" notification.)
Test:
    * adb shell mkdir /data/nativetest64
    * mmm -j frameworks/native/cmds/dumpstate/ &&
      adb push ${OUT}/data/nativetest64/dumpstate_test* /data/nativetest64
      && adb shell /data/nativetest64/dumpstate_test/dumpstate_test &&
      printf "\n\n#### ALL TESTS PASSED ####\n"

Change-Id: I0d2fe2a64f91dee7d090d5f8353e86d51ed5fb94
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index 51b2307..a66a8c1 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -34,6 +34,7 @@
 #include <unistd.h>
 
 #include <chrono>
+#include <fstream>
 #include <functional>
 #include <future>
 #include <memory>
@@ -181,6 +182,15 @@
     return true;
 }
 
+static bool IsFileEmpty(const std::string& file_path) {
+    std::ifstream file(file_path, std::ios::binary | std::ios::ate);
+    if(file.bad()) {
+        MYLOGE("Cannot open file: %s\n", file_path.c_str());
+        return true;
+    }
+    return file.tellg() <= 0;
+}
+
 }  // namespace
 }  // namespace os
 }  // namespace android
@@ -2085,7 +2095,7 @@
              "--es", "android.intent.extra.DUMPSTATE_LOG", ds.log_path_
         };
         // clang-format on
-        if (ds.options_->do_fb) {
+        if (ds.options_->do_fb && !android::os::IsFileEmpty(ds.screenshot_path_)) {
             am_args.push_back("--es");
             am_args.push_back("android.intent.extra.SCREENSHOT");
             am_args.push_back(ds.screenshot_path_);
@@ -2161,13 +2171,13 @@
             break;
         case Dumpstate::BugreportMode::BUGREPORT_TELEPHONY:
             options->telephony_only = true;
-            options->do_fb = true;
+            options->do_fb = false;
             options->do_broadcast = true;
             break;
         case Dumpstate::BugreportMode::BUGREPORT_WIFI:
             options->wifi_only = true;
             options->do_zip_file = true;
-            options->do_fb = true;
+            options->do_fb = false;
             options->do_broadcast = true;
             break;
         case Dumpstate::BugreportMode::BUGREPORT_DEFAULT: