Skip to content

This PR formats all .java files with google-java-format #861

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2,332 changes: 1,237 additions & 1,095 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/FeatureFlagManagerTest.java

Large diffs are not rendered by default.

518 changes: 266 additions & 252 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/HttpTest.java

Large diffs are not rendered by default.

460 changes: 241 additions & 219 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/MPConfigTest.java

Large diffs are not rendered by default.

3,474 changes: 1,927 additions & 1,547 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/MixpanelBasicTest.java

Large diffs are not rendered by default.

772 changes: 417 additions & 355 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/OptOutTest.java

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,63 +1,70 @@
package com.mixpanel.android.mpmetrics;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

@RunWith(AndroidJUnit4.class)
public class ResourceReaderTest {

@Before
public void setUp() {
mDrawables = new ResourceReader.Drawables(TEST_PACKAGE_NAME, InstrumentationRegistry.getInstrumentation().getContext());
mIds = new ResourceReader.Ids(TEST_PACKAGE_NAME, InstrumentationRegistry.getInstrumentation().getContext());
}

@Test
public void testLocalIdExists() {
assertTrue(mDrawables.knownIdName("TEST_DRAW_ZERO"));
assertEquals(mDrawables.idFromName("TEST_DRAW_ZERO"), TEST_DRAW_ZERO);
assertEquals(mDrawables.nameForId(TEST_DRAW_ZERO), "TEST_DRAW_ZERO");

assertTrue(mIds.knownIdName("TEST_ID_ZERO"));
assertEquals(mIds.idFromName("TEST_ID_ZERO"), TEST_ID_ZERO);
assertEquals(mIds.nameForId(TEST_ID_ZERO), "TEST_ID_ZERO");
}

@Test
public void testSystemIdExists() {
assertTrue(mDrawables.knownIdName("android:ic_lock_idle_alarm"));
assertEquals(mDrawables.idFromName("android:ic_lock_idle_alarm"), android.R.drawable.ic_lock_idle_alarm);
assertEquals(mDrawables.nameForId(android.R.drawable.ic_lock_idle_alarm), "android:ic_lock_idle_alarm");

assertTrue(mIds.knownIdName("android:primary"));
assertEquals(mIds.idFromName("android:primary"), android.R.id.primary);
assertEquals(mIds.nameForId(android.R.id.primary), "android:primary");
}

@Test
public void testIdDoesntExist() {
assertFalse(mDrawables.knownIdName("NO_SUCH_ID"));
assertNull(mDrawables.nameForId(0x7f098888));

assertFalse(mIds.knownIdName("NO_SUCH_ID"));
assertNull(mIds.nameForId(0x7f098888));
}

private ResourceReader.Drawables mDrawables;
private ResourceReader.Ids mIds;

private static final String TEST_PACKAGE_NAME = "com.mixpanel.android.mpmetrics.test_r_package";
private static final Class<?> RESOURCES_CLASS = com.mixpanel.android.mpmetrics.test_r_package.R.class;
private static final int TEST_ID_ZERO = com.mixpanel.android.mpmetrics.test_r_package.R.id.TEST_ID_ZERO;
private static final int TEST_DRAW_ZERO = com.mixpanel.android.mpmetrics.test_r_package.R.drawable.TEST_DRAW_ZERO;
@Before
public void setUp() {
mDrawables =
new ResourceReader.Drawables(
TEST_PACKAGE_NAME, InstrumentationRegistry.getInstrumentation().getContext());
mIds =
new ResourceReader.Ids(
TEST_PACKAGE_NAME, InstrumentationRegistry.getInstrumentation().getContext());
}

@Test
public void testLocalIdExists() {
assertTrue(mDrawables.knownIdName("TEST_DRAW_ZERO"));
assertEquals(mDrawables.idFromName("TEST_DRAW_ZERO"), TEST_DRAW_ZERO);
assertEquals(mDrawables.nameForId(TEST_DRAW_ZERO), "TEST_DRAW_ZERO");

assertTrue(mIds.knownIdName("TEST_ID_ZERO"));
assertEquals(mIds.idFromName("TEST_ID_ZERO"), TEST_ID_ZERO);
assertEquals(mIds.nameForId(TEST_ID_ZERO), "TEST_ID_ZERO");
}

@Test
public void testSystemIdExists() {
assertTrue(mDrawables.knownIdName("android:ic_lock_idle_alarm"));
assertEquals(
mDrawables.idFromName("android:ic_lock_idle_alarm"), android.R.drawable.ic_lock_idle_alarm);
assertEquals(
mDrawables.nameForId(android.R.drawable.ic_lock_idle_alarm), "android:ic_lock_idle_alarm");

assertTrue(mIds.knownIdName("android:primary"));
assertEquals(mIds.idFromName("android:primary"), android.R.id.primary);
assertEquals(mIds.nameForId(android.R.id.primary), "android:primary");
}

@Test
public void testIdDoesntExist() {
assertFalse(mDrawables.knownIdName("NO_SUCH_ID"));
assertNull(mDrawables.nameForId(0x7f098888));

assertFalse(mIds.knownIdName("NO_SUCH_ID"));
assertNull(mIds.nameForId(0x7f098888));
}

private ResourceReader.Drawables mDrawables;
private ResourceReader.Ids mIds;

private static final String TEST_PACKAGE_NAME = "com.mixpanel.android.mpmetrics.test_r_package";
private static final Class<?> RESOURCES_CLASS =
com.mixpanel.android.mpmetrics.test_r_package.R.class;
private static final int TEST_ID_ZERO =
com.mixpanel.android.mpmetrics.test_r_package.R.id.TEST_ID_ZERO;
private static final int TEST_DRAW_ZERO =
com.mixpanel.android.mpmetrics.test_r_package.R.drawable.TEST_DRAW_ZERO;
}
223 changes: 124 additions & 99 deletions src/androidTest/java/com/mixpanel/android/mpmetrics/TestUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,132 +4,157 @@
import android.content.SharedPreferences;
import android.os.Handler;
import android.os.Message;

import java.io.UnsupportedEncodingException;
import java.util.Map;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;

public class TestUtils {
public static byte[] bytes(String s) {
try {
return s.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("This is not an android device, or a compatible java. WHO ARE YOU?");
}
public static byte[] bytes(String s) {
try {
return s.getBytes("UTF-8");
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(
"This is not an android device, or a compatible java. WHO ARE YOU?");
}
}

public static class CleanMixpanelAPI extends MixpanelAPI {
public CleanMixpanelAPI(
final Context context,
final Future<SharedPreferences> referrerPreferences,
final String token,
final boolean trackAutomaticEvents) {
super(
context,
referrerPreferences,
token,
MPConfig.getInstance(context, null),
new MixpanelOptions.Builder().featureFlagsEnabled(true).build(),
trackAutomaticEvents);
}

public static class CleanMixpanelAPI extends MixpanelAPI {
public CleanMixpanelAPI(final Context context, final Future<SharedPreferences> referrerPreferences, final String token, final boolean trackAutomaticEvents) {
super(context, referrerPreferences, token, MPConfig.getInstance(context, null),
new MixpanelOptions.Builder().featureFlagsEnabled(true).build(), trackAutomaticEvents);
}

public CleanMixpanelAPI(final Context context, final Future<SharedPreferences> referrerPreferences, final String token) {
super(context, referrerPreferences, token, MPConfig.getInstance(context, null),
new MixpanelOptions.Builder().featureFlagsEnabled(true).build(), false);
}

public CleanMixpanelAPI(final Context context, final Future<SharedPreferences> referrerPreferences, final String token, final String instanceName) {
super(context, referrerPreferences, token, false, null, instanceName, false);
}

@Override
/* package */ PersistentIdentity getPersistentIdentity(final Context context, final Future<SharedPreferences> referrerPreferences, final String token, final String instanceName) {
String instanceKey = instanceName != null ? instanceName : token;
final String prefsName = "com.mixpanel.android.mpmetrics.MixpanelAPI_" + instanceKey;
final SharedPreferences ret = context.getSharedPreferences(prefsName, Context.MODE_PRIVATE);
ret.edit().clear().commit();

final String timeEventsPrefsName = "com.mixpanel.android.mpmetrics.MixpanelAPI.TimeEvents_" + instanceKey;
final SharedPreferences timeSharedPrefs = context.getSharedPreferences(timeEventsPrefsName, Context.MODE_PRIVATE);
timeSharedPrefs.edit().clear().commit();

final String mixpanelPrefsName = "com.mixpanel.android.mpmetrics.Mixpanel";
final SharedPreferences mpSharedPrefs = context.getSharedPreferences(mixpanelPrefsName, Context.MODE_PRIVATE);
mpSharedPrefs.edit().clear().putBoolean(token, true).putBoolean("has_launched", true).apply();
public CleanMixpanelAPI(
final Context context,
final Future<SharedPreferences> referrerPreferences,
final String token) {
super(
context,
referrerPreferences,
token,
MPConfig.getInstance(context, null),
new MixpanelOptions.Builder().featureFlagsEnabled(true).build(),
false);
}

return super.getPersistentIdentity(context, referrerPreferences, token, instanceName);
}
public CleanMixpanelAPI(
final Context context,
final Future<SharedPreferences> referrerPreferences,
final String token,
final String instanceName) {
super(context, referrerPreferences, token, false, null, instanceName, false);
}

@Override
/* package */ boolean sendAppOpen() {
return false;
}
@Override
/* package */ PersistentIdentity getPersistentIdentity(
final Context context,
final Future<SharedPreferences> referrerPreferences,
final String token,
final String instanceName) {
String instanceKey = instanceName != null ? instanceName : token;
final String prefsName = "com.mixpanel.android.mpmetrics.MixpanelAPI_" + instanceKey;
final SharedPreferences ret = context.getSharedPreferences(prefsName, Context.MODE_PRIVATE);
ret.edit().clear().commit();

final String timeEventsPrefsName =
"com.mixpanel.android.mpmetrics.MixpanelAPI.TimeEvents_" + instanceKey;
final SharedPreferences timeSharedPrefs =
context.getSharedPreferences(timeEventsPrefsName, Context.MODE_PRIVATE);
timeSharedPrefs.edit().clear().commit();

final String mixpanelPrefsName = "com.mixpanel.android.mpmetrics.Mixpanel";
final SharedPreferences mpSharedPrefs =
context.getSharedPreferences(mixpanelPrefsName, Context.MODE_PRIVATE);
mpSharedPrefs.edit().clear().putBoolean(token, true).putBoolean("has_launched", true).apply();

return super.getPersistentIdentity(context, referrerPreferences, token, instanceName);
}

public static class TestResourceIds implements ResourceIds {
public TestResourceIds(final Map<String, Integer> anIdMap) {
mIdMap = anIdMap;
}
@Override
/* package */ boolean sendAppOpen() {
return false;
}
}

@Override
public boolean knownIdName(String name) {
return mIdMap.containsKey(name);
}
public static class TestResourceIds implements ResourceIds {
public TestResourceIds(final Map<String, Integer> anIdMap) {
mIdMap = anIdMap;
}

@Override
public int idFromName(String name) {
return mIdMap.get(name);
}
@Override
public boolean knownIdName(String name) {
return mIdMap.containsKey(name);
}

@Override
public String nameForId(int id) {
for (Map.Entry<String, Integer> entry : mIdMap.entrySet()) {
if (entry.getValue() == id) {
return entry.getKey();
}
}
@Override
public int idFromName(String name) {
return mIdMap.get(name);
}

return null;
@Override
public String nameForId(int id) {
for (Map.Entry<String, Integer> entry : mIdMap.entrySet()) {
if (entry.getValue() == id) {
return entry.getKey();
}
}

private final Map<String, Integer> mIdMap;
return null;
}

public static class EmptyPreferences implements Future<SharedPreferences> {
public EmptyPreferences(Context context) {
mPrefs = context.getSharedPreferences("MIXPANEL_TEST_PREFERENCES", Context.MODE_PRIVATE);
mPrefs.edit().clear().commit();
}
private final Map<String, Integer> mIdMap;
}

@Override
public boolean cancel(final boolean mayInterruptIfRunning) {
return false;
}

@Override
public boolean isCancelled() {
return false;
}
public static class EmptyPreferences implements Future<SharedPreferences> {
public EmptyPreferences(Context context) {
mPrefs = context.getSharedPreferences("MIXPANEL_TEST_PREFERENCES", Context.MODE_PRIVATE);
mPrefs.edit().clear().commit();
}

@Override
public boolean isDone() {
return false;
}
@Override
public boolean cancel(final boolean mayInterruptIfRunning) {
return false;
}

@Override
public SharedPreferences get() {
return mPrefs;
}
@Override
public boolean isCancelled() {
return false;
}

@Override
public SharedPreferences get(final long timeout, final TimeUnit unit) {
return mPrefs;
}
@Override
public boolean isDone() {
return false;
}

private final SharedPreferences mPrefs;
@Override
public SharedPreferences get() {
return mPrefs;
}

/**
* Stub/Mock handler that just runs stuff synchronously
*/
public static class SynchronousHandler extends Handler {
@Override
public boolean sendMessageAtTime(Message msg, long uptimeMillis) {
dispatchMessage(msg);
return true;
}
@Override
public SharedPreferences get(final long timeout, final TimeUnit unit) {
return mPrefs;
}

private final SharedPreferences mPrefs;
}

/** Stub/Mock handler that just runs stuff synchronously */
public static class SynchronousHandler extends Handler {
@Override
public boolean sendMessageAtTime(Message msg, long uptimeMillis) {
dispatchMessage(msg);
return true;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
package com.mixpanel.android.mpmetrics.test_r_package;

/**
* Fake Resources class for use in tests
*/
/** Fake Resources class for use in tests */
public class R {
public static class id {
public final static int TEST_ID_ZERO=0x7f09000e;
}
public static class id {
public static final int TEST_ID_ZERO = 0x7f09000e;
}

public static class drawable {
public final static int TEST_DRAW_ZERO=0x7f020000;
}
public static class drawable {
public static final int TEST_DRAW_ZERO = 0x7f020000;
}
}
Loading
Loading