Эх сурвалжийг харах

Revert "remove firebase from branding branch and put it into branch "analytics""

This reverts commit 71ea26df3186e0c76f30c81c388fa077affc844d.
tobiasKaminsky 8 жил өмнө
parent
commit
726a02f39c
28 өөрчлөгдсөн 194 нэмэгдсэн , 11 устгасан
  1. 2 0
      build.gradle
  2. 20 0
      src/main/java/com/owncloud/android/MainApp.java
  3. 2 0
      src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java
  4. 7 0
      src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java
  5. 4 1
      src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java
  6. 6 0
      src/main/java/com/owncloud/android/ui/activity/FolderSyncActivity.java
  7. 7 0
      src/main/java/com/owncloud/android/ui/activity/GenericExplanationActivity.java
  8. 7 0
      src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java
  9. 6 0
      src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java
  10. 7 0
      src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java
  11. 6 0
      src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java
  12. 7 0
      src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java
  13. 1 0
      src/main/java/com/owncloud/android/ui/activity/Preferences.java
  14. 7 0
      src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java
  15. 4 1
      src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java
  16. 7 0
      src/main/java/com/owncloud/android/ui/activity/UploadPathActivity.java
  17. 6 0
      src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java
  18. 9 0
      src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java
  19. 7 0
      src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java
  20. 15 7
      src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java
  21. 4 0
      src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java
  22. 9 0
      src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java
  23. 9 0
      src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java
  24. 10 1
      src/main/java/com/owncloud/android/ui/fragment/UploadListFragment.java
  25. 10 0
      src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java
  26. 5 1
      src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java
  27. 4 0
      src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java
  28. 6 0
      src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java

+ 2 - 0
build.gradle

@@ -197,6 +197,8 @@ dependencies {
 
     compile 'com.github.bumptech.glide:glide:3.7.0'
     compile 'com.caverock:androidsvg:1.2.1'
+
+    modifiedCompile 'com.google.firebase:firebase-core:10.2.0'
     /// dependencies for local unit tests
     testCompile 'junit:junit:4.12'
     testCompile 'org.mockito:mockito-core:1.10.19'

+ 20 - 0
src/main/java/com/owncloud/android/MainApp.java

@@ -34,6 +34,7 @@ import android.support.multidex.MultiDexApplication;
 import android.support.v4.util.Pair;
 
 import com.evernote.android.job.JobManager;
+import com.google.firebase.analytics.FirebaseAnalytics;
 import com.owncloud.android.authentication.PassCodeManager;
 import com.owncloud.android.datamodel.SyncedFolder;
 import com.owncloud.android.datamodel.SyncedFolderProvider;
@@ -80,6 +81,8 @@ public class MainApp extends MultiDexApplication {
 
     private static SyncedFolderObserverService mObserverService;
 
+    private static FirebaseAnalytics firebaseAnalytics;
+
     @SuppressWarnings("unused")
     private boolean mBound;
 
@@ -89,6 +92,12 @@ public class MainApp extends MultiDexApplication {
         JobManager.create(this).addJobCreator(new NCJobCreator());
         MainApp.mContext = getApplicationContext();
 
+        firebaseAnalytics = FirebaseAnalytics.getInstance(this);
+
+        if (!getResources().getBoolean(R.bool.analytics_enabled)) {
+            firebaseAnalytics.setAnalyticsCollectionEnabled(false);
+        }
+
         SharedPreferences appPrefs =
                 PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
         MainApp.storagePath = appPrefs.getString(Preferences.PreferenceKeys.STORAGE_PATH, Environment.
@@ -329,4 +338,15 @@ public class MainApp extends MultiDexApplication {
         }
     };
 
+    public static FirebaseAnalytics getFirebaseAnalyticsInstance() {
+        /*
+        In order for Firebase Analytics to work, you also need to
+        put a proper google-services.json in src/custom folder
+
+        If that file is flawed, nothing will be sent to Firebase
+         */
+        return firebaseAnalytics;
+    }
+
+
 }

+ 2 - 0
src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -804,6 +804,8 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     protected void onResume() {
         super.onResume();
 
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+
         if (!webViewLoginMethod) {
             // bound here to avoid spurious changes triggered by Android on device rotations
             mHostUrlInput.setOnFocusChangeListener(this);

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/ErrorsWhileCopyingHandlerActivity.java

@@ -39,6 +39,7 @@ import android.widget.ListView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
@@ -133,6 +134,12 @@ public class ErrorsWhileCopyingHandlerActivity  extends AppCompatActivity
         okBtn.setOnClickListener(this);
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
         /**
          * Customized adapter, showing the local files as main text in two-lines list item and the
          * remote files as the secondary text.

+ 4 - 1
src/main/java/com/owncloud/android/ui/activity/FolderPickerActivity.java

@@ -40,6 +40,7 @@ import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.lib.common.operations.RemoteOperation;
@@ -103,7 +104,7 @@ public class FolderPickerActivity extends FileActivity implements FileFragment.C
             caption = getIntent().getStringExtra(EXTRA_ACTION);
         } else {
             caption = getString(R.string.default_display_name_for_root_folder);
-        }
+        };
         getSupportActionBar().setTitle(caption);
 
         setIndeterminate(mSyncInProgress);
@@ -236,6 +237,8 @@ public class FolderPickerActivity extends FileActivity implements FileFragment.C
         super.onResume();
         Log_OC.e(TAG, "onResume() start");
 
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+
         // refresh list of files
         refreshListOfFilesFragment(false);
 

+ 6 - 0
src/main/java/com/owncloud/android/ui/activity/FolderSyncActivity.java

@@ -99,6 +99,12 @@ public class FolderSyncActivity extends FileActivity implements FolderSyncAdapte
         setupContent();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     /**
      * sets up the UI elements and loads all media/synced folders.
      */

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/GenericExplanationActivity.java

@@ -32,6 +32,7 @@ import android.widget.ListAdapter;
 import android.widget.ListView;
 import android.widget.TextView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 
 import java.util.ArrayList;
@@ -84,6 +85,12 @@ public class GenericExplanationActivity  extends AppCompatActivity {
         }
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     public class ExplanationListAdapterView extends ArrayAdapter<String> {
         
         ArrayList<String> mList;

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/LogHistoryActivity.java

@@ -36,6 +36,7 @@ import android.widget.Button;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.dialog.LoadingDialog;
@@ -118,6 +119,12 @@ public class LogHistoryActivity extends ToolbarActivity {
         }
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         boolean retval = true;

+ 6 - 0
src/main/java/com/owncloud/android/ui/activity/ManageAccountsActivity.java

@@ -131,6 +131,12 @@ public class ManageAccountsActivity extends FileActivity
         initializeComponentGetters();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/ManageSpaceActivity.java

@@ -32,6 +32,7 @@ import android.widget.Button;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.lib.common.utils.Log_OC;
 
@@ -68,6 +69,12 @@ public class ManageSpaceActivity extends AppCompatActivity {
     }
 
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         boolean retval = true;

+ 6 - 0
src/main/java/com/owncloud/android/ui/activity/ParticipateActivity.java

@@ -30,6 +30,7 @@ import android.view.MenuItem;
 import android.view.View;
 import android.widget.TextView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 
 /**
@@ -56,6 +57,11 @@ public class ParticipateActivity extends FileActivity {
         setupContent();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
 
     private void setupContent() {
         TextView rcView = (TextView) findViewById(R.id.participate_release_candidate_text);

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/PassCodeActivity.java

@@ -38,6 +38,7 @@ import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.lib.common.utils.Log_OC;
 
@@ -140,6 +141,12 @@ public class PassCodeActivity extends AppCompatActivity {
         setTextListeners();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     /**
      * Enables or disables the cancel button to allow the user interrupt the ACTION
      * requested to the activity.

+ 1 - 0
src/main/java/com/owncloud/android/ui/activity/Preferences.java

@@ -612,6 +612,7 @@ public class Preferences extends PreferenceActivity
     @Override
     protected void onResume() {
         super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
 
         SharedPreferences appPrefs =
                 PreferenceManager.getDefaultSharedPreferences(getApplicationContext());

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java

@@ -41,6 +41,7 @@ import android.widget.Button;
 import android.widget.Spinner;
 import android.widget.TextView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.db.PreferenceManager;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -319,6 +320,12 @@ public class UploadFilesActivity extends FileActivity implements
         Log_OC.d(TAG, "onSaveInstanceState() end");
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     /**
      * Pushes a directory to the drop down list
      * @param directory to push

+ 4 - 1
src/main/java/com/owncloud/android/ui/activity/UploadListActivity.java

@@ -41,6 +41,7 @@ import android.view.MenuItem;
 import android.view.View;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.OCFile;
@@ -128,6 +129,8 @@ public class UploadListActivity extends FileActivity implements UploadListFragme
         Log_OC.v(TAG, "onResume() start");
         super.onResume();
 
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+
         // Listen for upload messages
         mUploadMessagesReceiver = new UploadMessagesReceiver();
         IntentFilter uploadIntentFilter = new IntentFilter();
@@ -331,7 +334,7 @@ public class UploadListActivity extends FileActivity implements UploadListFragme
                 mUploaderBinder = null;
             }
         }
-    }
+    };
 
     /**
      * Once the file upload has changed its status -> update uploads list view

+ 7 - 0
src/main/java/com/owncloud/android/ui/activity/UploadPathActivity.java

@@ -23,6 +23,7 @@ import android.accounts.Account;
 import android.os.Bundle;
 import android.view.View.OnClickListener;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.ui.fragment.FileFragment;
 import com.owncloud.android.ui.fragment.OCFileListFragment;
@@ -48,6 +49,12 @@ public class UploadPathActivity extends FolderPickerActivity implements FileFrag
         setFile(folder);
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     /**
      * Called when the ownCloud {@link Account} associated to the Activity was
      * just updated.

+ 6 - 0
src/main/java/com/owncloud/android/ui/activity/WhatsNewActivity.java

@@ -129,6 +129,12 @@ public class WhatsNewActivity extends FragmentActivity implements ViewPager.OnPa
         updateNextButtonIfNeeded();
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
+
     @Override
     public void onBackPressed() {
         onFinish();

+ 9 - 0
src/main/java/com/owncloud/android/ui/fragment/EditShareFragment.java

@@ -32,6 +32,7 @@ import android.widget.CheckBox;
 import android.widget.CompoundButton;
 import android.widget.TextView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
@@ -376,6 +377,14 @@ public class EditShareFragment extends Fragment {
     }
 
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
+
     /**
      * Get {@link OCShare} instance from DB and updates the UI.
      *

+ 7 - 0
src/main/java/com/owncloud/android/ui/fragment/FileDetailFragment.java

@@ -107,6 +107,13 @@ public class FileDetailFragment extends FileFragment implements OnClickListener
         mProgressListener = null;
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
 
     @Override
     public void onActivityCreated(Bundle savedInstanceState) {

+ 15 - 7
src/main/java/com/owncloud/android/ui/fragment/LocalFileListFragment.java

@@ -32,6 +32,7 @@ import android.widget.AdapterView;
 import android.widget.ImageView;
 import android.widget.ListView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.adapter.LocalFileListAdapter;
@@ -64,6 +65,13 @@ public class LocalFileListFragment extends ExtendedListFragment {
         setHasOptionsMenu(true);
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
 
     /**
      * {@inheritDoc}
@@ -133,7 +141,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
             } else {    /// Click on a file
                 ImageView checkBoxV = (ImageView) v.findViewById(R.id.custom_checkbox);
                 if (checkBoxV != null) {
-                    if (getListView().isItemChecked(position)) {
+                    if (((AbsListView)getListView()).isItemChecked(position)) {
                         checkBoxV.setImageResource(R.drawable.ic_checkbox_marked);
                     } else {
                         checkBoxV.setImageResource(R.drawable.ic_checkbox_blank_outline);
@@ -214,7 +222,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
         }
 
         // by now, only files in the same directory will be kept as selected
-        mCurrentListView.clearChoices();
+        ((AbsListView)mCurrentListView).clearChoices();
         mAdapter.swapDirectory(directory);
         if (mDirectory == null || !mDirectory.equals(directory)) {
             mCurrentListView.setSelection(0);
@@ -230,7 +238,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
      */
     public String[] getCheckedFilePaths() {
         ArrayList<String> result = new ArrayList<String>();
-        SparseBooleanArray positions = mCurrentListView.getCheckedItemPositions();
+        SparseBooleanArray positions = ((AbsListView)mCurrentListView).getCheckedItemPositions();
         if (positions.size() > 0) {
             for (int i = 0; i < positions.size(); i++) {
                 if (positions.get(positions.keyAt(i)) == true) {
@@ -262,7 +270,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
      * @param select <code>true</code> to select all, <code>false</code> to deselect all
      */
     public void selectAllFiles(boolean select) {
-        AbsListView listView = getListView();
+        AbsListView listView = (AbsListView) getListView();
         for (int position = 0; position < listView.getCount(); position++) {
             File file = (File) mAdapter.getItem(position);
             if (file.isFile()) {
@@ -281,7 +289,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
          *  
          * @param directory
          */
-        void onDirectoryClick(File directory);
+        public void onDirectoryClick(File directory);
         
         /**
          * Callback method invoked when a file (non directory)
@@ -289,7 +297,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
          *  
          * @param file
          */
-        void onFileClick(File file);
+        public void onFileClick(File file);
         
         
         /**
@@ -298,7 +306,7 @@ public class LocalFileListFragment extends ExtendedListFragment {
          * 
          * @return  Directory to list firstly. Can be NULL.
          */
-        File getInitialDirectory();
+        public File getInitialDirectory();
 
     }
 

+ 4 - 0
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -252,6 +252,10 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
         if (remoteOperationAsyncTask != null) {
             remoteOperationAsyncTask.cancel(true);
         }
+
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
     }
 
     @Override

+ 9 - 0
src/main/java/com/owncloud/android/ui/fragment/SearchShareesFragment.java

@@ -35,6 +35,7 @@ import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.ListView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -104,6 +105,14 @@ public class SearchShareesFragment extends Fragment implements ShareUserListAdap
 
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
+
     /**
      * {@inheritDoc}
      */

+ 9 - 0
src/main/java/com/owncloud/android/ui/fragment/ShareFileFragment.java

@@ -44,6 +44,7 @@ import android.widget.ScrollView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.authentication.AccountUtils;
 import com.owncloud.android.datamodel.OCFile;
@@ -177,6 +178,14 @@ public class ShareFileFragment extends Fragment implements ShareUserListAdapter.
         }
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
+
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              Bundle savedInstanceState) {

+ 10 - 1
src/main/java/com/owncloud/android/ui/fragment/UploadListFragment.java

@@ -27,6 +27,7 @@ import android.view.ViewGroup;
 import android.widget.ExpandableListView;
 import android.widget.ListView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.db.OCUpload;
 import com.owncloud.android.lib.common.utils.Log_OC;
@@ -72,6 +73,14 @@ public class UploadListFragment extends ExpandableListFragment {
         return v;
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
+
     @Override
     public void onRefresh() {
         // remove the progress circle as soon as pull is triggered, like in the list of files
@@ -135,7 +144,7 @@ public class UploadListFragment extends ExpandableListFragment {
          * @param file the file that has been clicked on.
          * @return return true if click was handled.
          */
-        boolean onUploadItemClick(OCUpload file);
+        public boolean onUploadItemClick(OCUpload file);
     }
 
     public void binderReady(){

+ 10 - 0
src/main/java/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@ -51,6 +51,8 @@ import android.widget.TextView;
 
 import com.caverock.androidsvg.SVG;
 import com.caverock.androidsvg.SVGParseException;
+
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.files.FileMenuFilter;
@@ -374,6 +376,14 @@ public class PreviewImageFragment extends FileFragment {
         mContainerActivity.showDetails(getFile());
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
+    }
+
     @Override
     public void onPause() {
         super.onPause();

+ 5 - 1
src/main/java/com/owncloud/android/ui/preview/PreviewMediaFragment.java

@@ -54,6 +54,7 @@ import android.widget.TextView;
 import android.widget.Toast;
 import android.widget.VideoView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.files.FileMenuFilter;
@@ -236,7 +237,7 @@ public class PreviewMediaFragment extends FileFragment implements
 
         }
         else {
-            file = savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE);
+            file = (OCFile) savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_FILE);
             setFile(file);
             mAccount = savedInstanceState.getParcelable(PreviewMediaFragment.EXTRA_ACCOUNT);
             mSavedPlaybackPosition =
@@ -564,6 +565,9 @@ public class PreviewMediaFragment extends FileFragment implements
     @Override
     public void onResume() {
         super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
         Log_OC.v(TAG, "onResume");
     }
 

+ 4 - 0
src/main/java/com/owncloud/android/ui/preview/PreviewTextFragment.java

@@ -34,6 +34,7 @@ import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.files.FileMenuFilter;
@@ -416,6 +417,9 @@ public class PreviewTextFragment extends FileFragment {
     @Override
     public void onResume() {
         super.onResume();
+        if (getActivity() != null) {
+            MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(getActivity(), SCREEN_NAME, TAG);
+        }
         Log_OC.e(TAG, "onResume");
     }
 

+ 6 - 0
src/main/java/com/owncloud/android/ui/preview/PreviewVideoActivity.java

@@ -33,6 +33,7 @@ import android.support.v7.app.AlertDialog;
 import android.widget.MediaController;
 import android.widget.VideoView;
 
+import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.lib.common.accounts.AccountUtils;
@@ -105,6 +106,11 @@ public class PreviewVideoActivity extends FileActivity implements OnCompletionLi
         mVideoPlayer.setKeepScreenOn(true);
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+        MainApp.getFirebaseAnalyticsInstance().setCurrentScreen(this, SCREEN_NAME, TAG);
+    }
 
     /**
      * {@inheritDoc}