summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Attwell <brianattwell@google.com>2014-10-22 16:35:49 -0700
committerBrian Attwell <brianattwell@google.com>2014-10-23 12:07:47 -0700
commitf938fa22b0901d9a566be1ec3975554f3623f795 (patch)
tree0640827e11a9629ae55cb1fc22663f3492b44afa
parente95bf6d58633d3d1d3b4cfc666428a463cbbb02d (diff)
downloadandroid_packages_apps_ContactsCommon-f938fa22b0901d9a566be1ec3975554f3623f795.tar.gz
android_packages_apps_ContactsCommon-f938fa22b0901d9a566be1ec3975554f3623f795.tar.bz2
android_packages_apps_ContactsCommon-f938fa22b0901d9a566be1ec3975554f3623f795.zip
Use analytics activities and fragments
All ContactsCommon's activities and fragments now inherit from analytics base classes. Also renamed dialerbind.analytics -> commonbind.analytics Analytics CL #1/6 Bug: 18039620 Change-Id: Ie9cef92bfcadf6764970d70474ced24dba7f828d
-rw-r--r--src/com/android/contacts/common/activity/TransactionSafeActivity.java4
-rw-r--r--src/com/android/contacts/common/dialog/ClearFrequentsDialog.java4
-rw-r--r--src/com/android/contacts/common/dialog/IndeterminateProgressDialog.java5
-rw-r--r--src/com/android/contacts/common/editor/SelectAccountDialogFragment.java4
-rw-r--r--src/com/android/contacts/common/interactions/ImportExportDialogFragment.java2
-rw-r--r--src/com/android/contacts/common/list/AccountFilterActivity.java5
-rw-r--r--src/com/android/contacts/common/list/ContactEntryListFragment.java5
-rw-r--r--src/com/android/contacts/common/list/CustomContactListFilterActivity.java4
-rw-r--r--src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java4
-rw-r--r--src/com/android/contacts/common/vcard/CancelActivity.java4
-rw-r--r--src/com/android/contacts/common/vcard/ExportVCardActivity.java4
-rw-r--r--src/com/android/contacts/common/vcard/ImportVCardActivity.java4
-rw-r--r--src/com/android/contacts/common/vcard/NfcImportVCardActivity.java4
-rw-r--r--src/com/android/contacts/common/vcard/SelectAccountActivity.java4
-rw-r--r--src/com/android/contacts/common/widget/SelectPhoneAccountDialogFragment.java4
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsActivity.java (renamed from src/com/android/dialerbind/analytics/AnalyticsActivity.java)2
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsDialogFragment.java (renamed from src/com/android/dialerbind/analytics/AnalyticsDialogFragment.java)2
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsFragment.java (renamed from src/com/android/dialerbind/analytics/AnalyticsFragment.java)2
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsInterface.java (renamed from src/com/android/dialerbind/analytics/AnalyticsInterface.java)2
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsListFragment.java (renamed from src/com/android/dialerbind/analytics/AnalyticsListFragment.java)5
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceActivity.java (renamed from src/com/android/dialerbind/analytics/AnalyticsPreferenceActivity.java)2
-rw-r--r--src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceFragment.java30
22 files changed, 71 insertions, 35 deletions
diff --git a/src/com/android/contacts/common/activity/TransactionSafeActivity.java b/src/com/android/contacts/common/activity/TransactionSafeActivity.java
index 6c2e4fea..6b50108b 100644
--- a/src/com/android/contacts/common/activity/TransactionSafeActivity.java
+++ b/src/com/android/contacts/common/activity/TransactionSafeActivity.java
@@ -16,6 +16,8 @@
package com.android.contacts.common.activity;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
+
import android.app.Activity;
import android.os.Bundle;
@@ -23,7 +25,7 @@ import android.os.Bundle;
* A common superclass that keeps track of whether an {@link Activity} has saved its state yet or
* not.
*/
-public abstract class TransactionSafeActivity extends Activity {
+public abstract class TransactionSafeActivity extends AnalyticsActivity {
private boolean mIsSafeToCommitTransactions;
diff --git a/src/com/android/contacts/common/dialog/ClearFrequentsDialog.java b/src/com/android/contacts/common/dialog/ClearFrequentsDialog.java
index 2cfd36e7..44bdd957 100644
--- a/src/com/android/contacts/common/dialog/ClearFrequentsDialog.java
+++ b/src/com/android/contacts/common/dialog/ClearFrequentsDialog.java
@@ -18,7 +18,6 @@ package com.android.contacts.common.dialog;
import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.DialogFragment;
import android.app.FragmentManager;
import android.content.ContentResolver;
import android.content.DialogInterface;
@@ -28,11 +27,12 @@ import android.os.Bundle;
import android.provider.ContactsContract;
import com.android.contacts.common.R;
+import com.android.contacts.commonbind.analytics.AnalyticsDialogFragment;
/**
* Dialog that clears the frequently contacted list after confirming with the user.
*/
-public class ClearFrequentsDialog extends DialogFragment {
+public class ClearFrequentsDialog extends AnalyticsDialogFragment {
/** Preferred way to show this dialog */
public static void show(FragmentManager fragmentManager) {
ClearFrequentsDialog dialog = new ClearFrequentsDialog();
diff --git a/src/com/android/contacts/common/dialog/IndeterminateProgressDialog.java b/src/com/android/contacts/common/dialog/IndeterminateProgressDialog.java
index 2fe059f4..c26d6b44 100644
--- a/src/com/android/contacts/common/dialog/IndeterminateProgressDialog.java
+++ b/src/com/android/contacts/common/dialog/IndeterminateProgressDialog.java
@@ -16,8 +16,9 @@
package com.android.contacts.common.dialog;
+import com.android.contacts.commonbind.analytics.AnalyticsDialogFragment;
+
import android.app.Dialog;
-import android.app.DialogFragment;
import android.app.FragmentManager;
import android.app.ProgressDialog;
import android.content.DialogInterface;
@@ -41,7 +42,7 @@ import android.os.Handler;
* after a device orientation change because the {@link #setRetainInstance(boolean)} is called
* internally with true.
*/
-public class IndeterminateProgressDialog extends DialogFragment {
+public class IndeterminateProgressDialog extends AnalyticsDialogFragment {
private static final String TAG = IndeterminateProgressDialog.class.getSimpleName();
private CharSequence mTitle;
diff --git a/src/com/android/contacts/common/editor/SelectAccountDialogFragment.java b/src/com/android/contacts/common/editor/SelectAccountDialogFragment.java
index c2ebbbfa..133b0db9 100644
--- a/src/com/android/contacts/common/editor/SelectAccountDialogFragment.java
+++ b/src/com/android/contacts/common/editor/SelectAccountDialogFragment.java
@@ -18,7 +18,6 @@ package com.android.contacts.common.editor;
import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.DialogInterface;
@@ -27,13 +26,14 @@ import android.os.Bundle;
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.util.AccountsListAdapter;
import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
+import com.android.contacts.commonbind.analytics.AnalyticsDialogFragment;
/**
* Shows a dialog asking the user which account to chose.
*
* The result is passed to {@code targetFragment} passed to {@link #show}.
*/
-public final class SelectAccountDialogFragment extends DialogFragment {
+public final class SelectAccountDialogFragment extends AnalyticsDialogFragment {
public static final String TAG = "SelectAccountDialogFragment";
private static final String KEY_TITLE_RES_ID = "title_res_id";
diff --git a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
index 99b8df58..6bfd42ac 100644
--- a/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
+++ b/src/com/android/contacts/common/interactions/ImportExportDialogFragment.java
@@ -48,7 +48,7 @@ import com.android.contacts.common.util.AccountSelectionUtil;
import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
import com.android.contacts.common.vcard.ExportVCardActivity;
import com.android.contacts.common.vcard.VCardCommonArguments;
-import com.android.dialerbind.analytics.AnalyticsDialogFragment;
+import com.android.contacts.commonbind.analytics.AnalyticsDialogFragment;
import java.util.Collections;
import java.util.List;
diff --git a/src/com/android/contacts/common/list/AccountFilterActivity.java b/src/com/android/contacts/common/list/AccountFilterActivity.java
index 58450c65..91bffbab 100644
--- a/src/com/android/contacts/common/list/AccountFilterActivity.java
+++ b/src/com/android/contacts/common/list/AccountFilterActivity.java
@@ -38,6 +38,8 @@ import com.android.contacts.common.R;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountType;
import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
+
import com.google.common.collect.Lists;
import java.util.ArrayList;
@@ -47,7 +49,8 @@ import java.util.List;
* Shows a list of all available accounts, letting the user select under which account to view
* contacts.
*/
-public class AccountFilterActivity extends Activity implements AdapterView.OnItemClickListener {
+public class AccountFilterActivity extends AnalyticsActivity
+ implements AdapterView.OnItemClickListener {
private static final String TAG = AccountFilterActivity.class.getSimpleName();
diff --git a/src/com/android/contacts/common/list/ContactEntryListFragment.java b/src/com/android/contacts/common/list/ContactEntryListFragment.java
index 62515e23..e9ab15d9 100644
--- a/src/com/android/contacts/common/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/common/list/ContactEntryListFragment.java
@@ -23,7 +23,6 @@ import android.content.Context;
import android.content.CursorLoader;
import android.content.Intent;
import android.content.Loader;
-import android.content.res.Resources;
import android.database.Cursor;
import android.os.Bundle;
import android.os.Handler;
@@ -45,12 +44,10 @@ import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import com.android.common.widget.CompositeCursorAdapter.Partition;
-import com.android.contacts.common.R;
import com.android.contacts.common.ContactPhotoManager;
import com.android.contacts.common.preference.ContactsPreferences;
import com.android.contacts.common.util.ContactListViewUtils;
-import com.android.contacts.common.util.SchedulingUtils;
-import com.android.dialerbind.analytics.AnalyticsFragment;
+import com.android.contacts.commonbind.analytics.AnalyticsFragment;
import java.util.Locale;
diff --git a/src/com/android/contacts/common/list/CustomContactListFilterActivity.java b/src/com/android/contacts/common/list/CustomContactListFilterActivity.java
index feb7df23..2a0a46c5 100644
--- a/src/com/android/contacts/common/list/CustomContactListFilterActivity.java
+++ b/src/com/android/contacts/common/list/CustomContactListFilterActivity.java
@@ -62,6 +62,8 @@ import com.android.contacts.common.model.account.GoogleAccountType;
import com.android.contacts.common.util.EmptyService;
import com.android.contacts.common.util.LocalizedNameResolver;
import com.android.contacts.common.util.WeakAsyncTask;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
+
import com.google.common.collect.Lists;
import java.util.ArrayList;
@@ -73,7 +75,7 @@ import java.util.Iterator;
* Shows a list of all available {@link Groups} available, letting the user
* select which ones they want to be visible.
*/
-public class CustomContactListFilterActivity extends Activity
+public class CustomContactListFilterActivity extends AnalyticsActivity
implements View.OnClickListener, ExpandableListView.OnChildClickListener,
LoaderCallbacks<CustomContactListFilterActivity.AccountSet>
{
diff --git a/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java b/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
index e49f38a1..7f0850cc 100644
--- a/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
+++ b/src/com/android/contacts/common/preference/DisplayOptionsPreferenceFragment.java
@@ -17,14 +17,14 @@
package com.android.contacts.common.preference;
import android.os.Bundle;
-import android.preference.PreferenceFragment;
import com.android.contacts.common.R;
+import com.android.contacts.commonbind.analytics.AnalyticsPreferenceFragment;
/**
* This fragment shows the preferences for the first header.
*/
-public class DisplayOptionsPreferenceFragment extends PreferenceFragment {
+public class DisplayOptionsPreferenceFragment extends AnalyticsPreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
diff --git a/src/com/android/contacts/common/vcard/CancelActivity.java b/src/com/android/contacts/common/vcard/CancelActivity.java
index 20869f74..86bfd553 100644
--- a/src/com/android/contacts/common/vcard/CancelActivity.java
+++ b/src/com/android/contacts/common/vcard/CancelActivity.java
@@ -15,7 +15,6 @@
*/
package com.android.contacts.common.vcard;
-import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ComponentName;
@@ -29,11 +28,12 @@ import android.os.IBinder;
import android.util.Log;
import com.android.contacts.common.R;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
/**
* The Activity for canceling vCard import/export.
*/
-public class CancelActivity extends Activity implements ServiceConnection {
+public class CancelActivity extends AnalyticsActivity implements ServiceConnection {
private final String LOG_TAG = "VCardCancel";
/* package */ final static String JOB_ID = "job_id";
diff --git a/src/com/android/contacts/common/vcard/ExportVCardActivity.java b/src/com/android/contacts/common/vcard/ExportVCardActivity.java
index 008beb68..f508cd3a 100644
--- a/src/com/android/contacts/common/vcard/ExportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/ExportVCardActivity.java
@@ -15,7 +15,6 @@
*/
package com.android.contacts.common.vcard;
-import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ComponentName;
@@ -36,6 +35,7 @@ import android.text.TextUtils;
import android.util.Log;
import com.android.contacts.common.R;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
import java.io.File;
@@ -46,7 +46,7 @@ import java.io.File;
* a user. After the user's confirmation, it send export request with the file name, assuming the
* file name is not reserved yet.
*/
-public class ExportVCardActivity extends Activity implements ServiceConnection,
+public class ExportVCardActivity extends AnalyticsActivity implements ServiceConnection,
DialogInterface.OnClickListener, DialogInterface.OnCancelListener {
private static final String LOG_TAG = "VCardExport";
private static final boolean DEBUG = VCardService.DEBUG;
diff --git a/src/com/android/contacts/common/vcard/ImportVCardActivity.java b/src/com/android/contacts/common/vcard/ImportVCardActivity.java
index 62e8431c..ca7e39ae 100644
--- a/src/com/android/contacts/common/vcard/ImportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/ImportVCardActivity.java
@@ -48,7 +48,7 @@ import android.widget.Toast;
import com.android.contacts.common.R;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.util.AccountSelectionUtil;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
import com.android.vcard.VCardEntryCounter;
import com.android.vcard.VCardParser;
import com.android.vcard.VCardParser_V21;
@@ -85,7 +85,7 @@ import java.util.Vector;
* any Dialog in the instance. So this code is careless about the management around managed
* dialogs stuffs (like how onCreateDialog() is used).
*/
-public class ImportVCardActivity extends Activity {
+public class ImportVCardActivity extends AnalyticsActivity {
private static final String LOG_TAG = "VCardImport";
private static final int SELECT_ACCOUNT = 0;
diff --git a/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java b/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
index 96f224a1..dca90466 100644
--- a/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
+++ b/src/com/android/contacts/common/vcard/NfcImportVCardActivity.java
@@ -16,7 +16,6 @@
package com.android.contacts.common.vcard;
-import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -34,6 +33,7 @@ import android.util.Log;
import com.android.contacts.common.R;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
import com.android.vcard.VCardEntry;
import com.android.vcard.VCardEntryCounter;
import com.android.vcard.VCardParser;
@@ -49,7 +49,7 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-public class NfcImportVCardActivity extends Activity implements ServiceConnection,
+public class NfcImportVCardActivity extends AnalyticsActivity implements ServiceConnection,
VCardImportExportListener {
private static final String TAG = "NfcImportVCardActivity";
diff --git a/src/com/android/contacts/common/vcard/SelectAccountActivity.java b/src/com/android/contacts/common/vcard/SelectAccountActivity.java
index d05810db..851ae4d2 100644
--- a/src/com/android/contacts/common/vcard/SelectAccountActivity.java
+++ b/src/com/android/contacts/common/vcard/SelectAccountActivity.java
@@ -15,7 +15,6 @@
*/
package com.android.contacts.common.vcard;
-import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
@@ -26,10 +25,11 @@ import com.android.contacts.common.R;
import com.android.contacts.common.model.AccountTypeManager;
import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.util.AccountSelectionUtil;
+import com.android.contacts.commonbind.analytics.AnalyticsActivity;
import java.util.List;
-public class SelectAccountActivity extends Activity {
+public class SelectAccountActivity extends AnalyticsActivity {
private static final String LOG_TAG = "SelectAccountActivity";
public static final String ACCOUNT_NAME = "account_name";
diff --git a/src/com/android/contacts/common/widget/SelectPhoneAccountDialogFragment.java b/src/com/android/contacts/common/widget/SelectPhoneAccountDialogFragment.java
index 0dbe70a8..c0bbcce7 100644
--- a/src/com/android/contacts/common/widget/SelectPhoneAccountDialogFragment.java
+++ b/src/com/android/contacts/common/widget/SelectPhoneAccountDialogFragment.java
@@ -20,7 +20,6 @@ import android.telecom.PhoneAccount;
import android.telecom.PhoneAccountHandle;
import android.app.AlertDialog;
import android.app.Dialog;
-import android.app.DialogFragment;
import android.app.FragmentManager;
import android.content.Context;
import android.content.DialogInterface;
@@ -38,6 +37,7 @@ import android.widget.ListAdapter;
import android.widget.TextView;
import com.android.contacts.common.R;
+import com.android.contacts.commonbind.analytics.AnalyticsDialogFragment;
import java.util.List;
@@ -45,7 +45,7 @@ import java.util.List;
* Dialog that allows the user to select a phone accounts for a given action. Optionally provides
* the choice to set the phone account as default.
*/
-public class SelectPhoneAccountDialogFragment extends DialogFragment {
+public class SelectPhoneAccountDialogFragment extends AnalyticsDialogFragment {
private boolean mCanSetDefault;
private List<PhoneAccountHandle> mAccountHandles;
private boolean mIsSelected;
diff --git a/src/com/android/dialerbind/analytics/AnalyticsActivity.java b/src/com/android/contacts/commonbind/analytics/AnalyticsActivity.java
index e9021305..5427beca 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsActivity.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsActivity.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
import android.app.Activity;
diff --git a/src/com/android/dialerbind/analytics/AnalyticsDialogFragment.java b/src/com/android/contacts/commonbind/analytics/AnalyticsDialogFragment.java
index 5253ff99..44092011 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsDialogFragment.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsDialogFragment.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
import android.app.DialogFragment;
diff --git a/src/com/android/dialerbind/analytics/AnalyticsFragment.java b/src/com/android/contacts/commonbind/analytics/AnalyticsFragment.java
index 15debeb8..ebe29033 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsFragment.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsFragment.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
import android.app.Fragment;
diff --git a/src/com/android/dialerbind/analytics/AnalyticsInterface.java b/src/com/android/contacts/commonbind/analytics/AnalyticsInterface.java
index 370f8b05..f003d677 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsInterface.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsInterface.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
public interface AnalyticsInterface {
void sendHitEvent(String categoryId, String actionId, String labelId);
diff --git a/src/com/android/dialerbind/analytics/AnalyticsListFragment.java b/src/com/android/contacts/commonbind/analytics/AnalyticsListFragment.java
index 8c39054a..38840ef3 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsListFragment.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsListFragment.java
@@ -14,11 +14,12 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
import android.app.ListFragment;
-public abstract class AnalyticsListFragment extends ListFragment implements AnalyticsInterface {
+public abstract class AnalyticsListFragment extends ListFragment implements
+ AnalyticsInterface {
@Override
public void sendHitEvent(String categoryId, String actionId, String labelId) {
}
diff --git a/src/com/android/dialerbind/analytics/AnalyticsPreferenceActivity.java b/src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceActivity.java
index f270cf21..9f3ac981 100644
--- a/src/com/android/dialerbind/analytics/AnalyticsPreferenceActivity.java
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceActivity.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.dialerbind.analytics;
+package com.android.contacts.commonbind.analytics;
import android.preference.PreferenceActivity;
diff --git a/src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceFragment.java b/src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceFragment.java
new file mode 100644
index 00000000..827f4697
--- /dev/null
+++ b/src/com/android/contacts/commonbind/analytics/AnalyticsPreferenceFragment.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.commonbind.analytics;
+
+import android.preference.PreferenceFragment;
+
+public abstract class AnalyticsPreferenceFragment extends PreferenceFragment
+ implements AnalyticsInterface {
+ @Override
+ public void sendHitEvent(String categoryId, String actionId, String labelId) {
+ }
+
+ @Override
+ public void sendScreenView() {
+ }
+}