Skip to content

Commit

Permalink
Only enable analytics if a GA code is setup
Browse files Browse the repository at this point in the history
  • Loading branch information
eyedol committed Jul 30, 2013
1 parent d63e7a9 commit 399848a
Show file tree
Hide file tree
Showing 8 changed files with 236 additions and 183 deletions.
10 changes: 5 additions & 5 deletions Core/src/com/ushahidi/android/app/activities/BaseActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@
import com.actionbarsherlock.app.SherlockFragmentActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.google.analytics.tracking.android.EasyTracker;
import com.ushahidi.android.app.Preferences;
import com.ushahidi.android.app.R;
import com.ushahidi.android.app.adapters.NavDrawerAdapter;
import com.ushahidi.android.app.ui.navdrawer.AboutNavDrawerItem;
import com.ushahidi.android.app.ui.navdrawer.AdminNavDrawerItem;
import com.ushahidi.android.app.ui.navdrawer.BaseNavDrawerItem;
import com.ushahidi.android.app.ui.navdrawer.MapNavDrawerItem;
import com.ushahidi.android.app.util.AnalyticsUtils;
import com.ushahidi.android.app.util.Objects;
import com.ushahidi.android.app.util.Util;
import com.ushahidi.android.app.views.View;
Expand Down Expand Up @@ -158,8 +158,8 @@ public void onCreate(Bundle savedInstanceState) {
createNavDrawer();
}
}
EasyTracker.getInstance().setContext(this);

AnalyticsUtils.setContext(this);

}

Expand Down Expand Up @@ -230,7 +230,7 @@ public void onConfigurationChanged(Configuration newConfig) {
protected void onStart() {
super.onStart();
log("onStart");
EasyTracker.getInstance().activityStart(this);
AnalyticsUtils.activityStop(this);
}

@Override
Expand All @@ -256,7 +256,7 @@ protected void onPause() {
protected void onStop() {
super.onStop();
log("onStop");
EasyTracker.getInstance().activityStop(this);
AnalyticsUtils.activityStop(this);
}

@Override
Expand Down
289 changes: 151 additions & 138 deletions Core/src/com/ushahidi/android/app/activities/SplashScreenActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,147 +39,160 @@
import com.ushahidi.android.app.ui.phone.ListMapActivity;
import com.ushahidi.android.app.ui.phone.ReportTabActivity;
import com.ushahidi.android.app.ui.tablet.DashboardActivity;
import com.ushahidi.android.app.util.AnalyticsUtils;
import com.ushahidi.android.app.util.ApiUtils;
import com.ushahidi.android.app.util.Util;

public class SplashScreenActivity extends FragmentActivity {
private boolean active = true;

private int splashTime = 5000;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// getSupportActionBar().hide();
setContentView(R.layout.splash);

// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while (active && (waited < splashTime)) {
sleep(100);
if (active) {
waited += 100;
}
}
} catch (InterruptedException e) {
// do nothing
} finally {

// check if default deployment is set
if (!checkDefaultDeployment()) {
if (Util.isTablet(SplashScreenActivity.this)) {
startActivity(new Intent(SplashScreenActivity.this,
DashboardActivity.class));
overridePendingTransition(R.anim.home_enter,
R.anim.home_exit);
finish();
} else {
startActivity(new Intent(SplashScreenActivity.this,
ListMapActivity.class));
overridePendingTransition(R.anim.home_enter,
R.anim.home_exit);
finish();
}

}
}
}
};
splashTread.start();
}

@Override
public void onResume() {
super.onResume();
registerReceiver(broadcastReceiver, new IntentFilter(
SyncServices.SYNC_SERVICES_ACTION));
}

protected void onPause() {
super.onPause();
try {
unregisterReceiver(broadcastReceiver);
} catch (IllegalArgumentException e) {
}

}

@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
active = false;
}
return true;
}

/**
* Check if default deployment has been set.
*/
private boolean checkDefaultDeployment() {
try {
// Check if default domain has been set.
final String deployment = getString(R.string.deployment_url);
if (!TextUtils.isEmpty(deployment)) {
Log.i("Dashboard",
"Determing if default deployment has been set "
+ deployment);

// validate URL
if (ApiUtils.validateUshahidiInstance(deployment)) {
Log.i("Dashboard", "Validate Domain " + deployment);
Preferences.domain = deployment;
Preferences.saveSettings(this);

// refresh for new reports
if (Preferences.appRunsFirstTime == 0) {
// refreshReports();
Preferences.appRunsFirstTime = 1;
Preferences.saveSettings(this);
startService(new Intent(this, FetchReports.class));
return true;
}
}

goToReports();
return true;
}
} catch (Exception ex) {
Log.e("Dashboard", "checkDefaultDeployment Exception", ex);
}
return false;
}

private void goToReports() {
Intent launchIntent;
launchIntent = new Intent(this, ReportTabActivity.class);
startActivityForResult(launchIntent, 0);
overridePendingTransition(R.anim.home_enter, R.anim.home_exit);
setResult(RESULT_OK);
finish();

}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null) {
try {
unregisterReceiver(broadcastReceiver);
} catch (IllegalArgumentException e) {

}

goToReports();

}
}
};
private boolean active = true;

private int splashTime = 5000;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// getSupportActionBar().hide();
setContentView(R.layout.splash);
AnalyticsUtils.setContext(this);
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while (active && (waited < splashTime)) {
sleep(100);
if (active) {
waited += 100;
}
}
} catch (InterruptedException e) {
// do nothing
} finally {

// check if default deployment is set
if (!checkDefaultDeployment()) {
if (Util.isTablet(SplashScreenActivity.this)) {
startActivity(new Intent(SplashScreenActivity.this,
DashboardActivity.class));
overridePendingTransition(R.anim.home_enter,
R.anim.home_exit);
finish();
} else {
startActivity(new Intent(SplashScreenActivity.this,
ListMapActivity.class));
overridePendingTransition(R.anim.home_enter,
R.anim.home_exit);
finish();
}

}
}
}
};
splashTread.start();
}

@Override
public void onResume() {
super.onResume();
registerReceiver(broadcastReceiver, new IntentFilter(
SyncServices.SYNC_SERVICES_ACTION));
}

@Override
public void onStart() {
super.onStart();
AnalyticsUtils.activityStop(this);
}

protected void onPause() {
super.onPause();
try {
unregisterReceiver(broadcastReceiver);
} catch (IllegalArgumentException e) {
}

}

@Override
public void onStop() {
super.onStop();
AnalyticsUtils.activityStop(this);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
active = false;
}
return true;
}

/**
* Check if default deployment has been set.
*/
private boolean checkDefaultDeployment() {
try {
// Check if default domain has been set.
final String deployment = getString(R.string.deployment_url);
if (!TextUtils.isEmpty(deployment)) {
Log.i("Dashboard",
"Determing if default deployment has been set "
+ deployment);

// validate URL
if (ApiUtils.validateUshahidiInstance(deployment)) {
Log.i("Dashboard", "Validate Domain " + deployment);
Preferences.domain = deployment;
Preferences.saveSettings(this);

// refresh for new reports
if (Preferences.appRunsFirstTime == 0) {
// refreshReports();
Preferences.appRunsFirstTime = 1;
Preferences.saveSettings(this);
startService(new Intent(this, FetchReports.class));
return true;
}
}

goToReports();
return true;
}
} catch (Exception ex) {
Log.e("Dashboard", "checkDefaultDeployment Exception", ex);
}
return false;
}

private void goToReports() {
Intent launchIntent;
launchIntent = new Intent(this, ReportTabActivity.class);
startActivityForResult(launchIntent, 0);
overridePendingTransition(R.anim.home_enter, R.anim.home_exit);
setResult(RESULT_OK);
finish();

}

private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null) {
try {
unregisterReceiver(broadcastReceiver);
} catch (IllegalArgumentException e) {

}

goToReports();

}
}
};

}
20 changes: 8 additions & 12 deletions Core/src/com/ushahidi/android/app/fragments/BaseFragment.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
package com.ushahidi.android.app.fragments;

import android.os.Bundle;

import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;

import android.view.LayoutInflater;

import com.actionbarsherlock.view.MenuInflater;
import com.google.analytics.tracking.android.EasyTracker;

import android.view.ViewGroup;
import android.widget.Toast;

import com.actionbarsherlock.app.SherlockFragment;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
import com.ushahidi.android.app.util.AnalyticsUtils;
import com.ushahidi.android.app.util.Util;

public class BaseFragment extends SherlockFragment {
Expand All @@ -32,22 +28,22 @@ public void onCreate(Bundle savedInstanceState) {
setHasOptionsMenu(true);

// start google analytics
EasyTracker.getInstance().setContext(getActivity());
AnalyticsUtils.setContext(getActivity());

}

@Override
public void onStart() {
super.onStart();
log("onStart");
EasyTracker.getInstance().activityStart(getActivity());
AnalyticsUtils.activityStart(getActivity());
}

@Override
public void onStop() {
super.onStop();
log("onStop");
EasyTracker.getInstance().activityStop(getActivity());
AnalyticsUtils.activityStop(getActivity());
}

@Override
Expand Down
Loading

0 comments on commit 399848a

Please sign in to comment.