diff --git a/app/src/main/java/io/lbry/browser/MainActivity.java b/app/src/main/java/io/lbry/browser/MainActivity.java index a0789f3c..1e2dde9d 100644 --- a/app/src/main/java/io/lbry/browser/MainActivity.java +++ b/app/src/main/java/io/lbry/browser/MainActivity.java @@ -311,6 +311,7 @@ public class MainActivity extends AppCompatActivity implements SdkStatusListener public static final String PREFERENCE_KEY_NOTIFICATION_CREATOR = "io.lbry.browser.preference.notifications.Creator"; public static final String PREFERENCE_KEY_KEEP_SDK_BACKGROUND = "io.lbry.browser.preference.other.KeepSdkInBackground"; public static final String PREFERENCE_KEY_PARTICIPATE_DATA_NETWORK = "io.lbry.browser.preference.other.ParticipateInDataNetwork"; + public static final String PREFERENCE_KEY_SEND_BUFFERING_EVENTS = "io.lbry.browser.preference.other.SendBufferingEvents"; // Internal flags / setting preferences public static final String PREFERENCE_KEY_INTERNAL_SKIP_WALLET_ACCOUNT = "io.lbry.browser.preference.internal.WalletSkipAccount"; diff --git a/app/src/main/java/io/lbry/browser/ui/findcontent/FileViewFragment.java b/app/src/main/java/io/lbry/browser/ui/findcontent/FileViewFragment.java index d78c9e39..3dc97711 100644 --- a/app/src/main/java/io/lbry/browser/ui/findcontent/FileViewFragment.java +++ b/app/src/main/java/io/lbry/browser/ui/findcontent/FileViewFragment.java @@ -298,7 +298,15 @@ public class FileViewFragment extends BaseFragment implements loadingNewClaim = false; } } else if (playbackState == Player.STATE_BUFFERING) { - if (MainActivity.appPlayer != null && MainActivity.appPlayer.getCurrentPosition() > 0) { + Context ctx = getContext(); + boolean sendBufferingEvents = true; + + if (ctx != null) { + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(ctx); + sendBufferingEvents = sp.getBoolean(MainActivity.PREFERENCE_KEY_SEND_BUFFERING_EVENTS, true); + } + + if (MainActivity.appPlayer != null && MainActivity.appPlayer.getCurrentPosition() > 0 && sendBufferingEvents) { // we only want to log a buffer event after the media has already started playing String mediaSourceUrl = getStreamingUrl(); long duration = MainActivity.appPlayer.getDuration(); diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 92016e96..4f45dd59 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -245,6 +245,7 @@ Keep the LBRY service running in the background for improved wallet and network performance Participate in the data network (requires app and background service restart) + Send buffering events to LBRY servers %1$s - Search diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml index 8e9647bf..25af5cb7 100644 --- a/app/src/main/res/xml/settings.xml +++ b/app/src/main/res/xml/settings.xml @@ -64,5 +64,11 @@ app:title="@string/participate_in_data_network" app:iconSpaceReserved="false" app:singleLineTitle="false" /> + \ No newline at end of file