Skip to content

Commit c71ab6d

Browse files
committed
* piwiki usage stats
1 parent 6b9fc62 commit c71ab6d

File tree

5 files changed

+42
-10
lines changed

5 files changed

+42
-10
lines changed

app/build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.todobom.opennotescanner"
88
minSdkVersion 21
99
targetSdkVersion 23
10-
versionCode 20
11-
versionName '1.0.20'
10+
versionCode 21
11+
versionName '1.0.21'
1212
}
1313
buildTypes {
1414
release {
@@ -17,6 +17,10 @@ android {
1717
}
1818
}
1919
productFlavors {
20+
fdroid {
21+
}
22+
gplay {
23+
}
2024
}
2125
}
2226

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@
5555
</activity>
5656
<activity
5757
android:name=".FullScreenViewActivity"
58-
android:theme="@style/FullscreenTheme"></activity>
59-
<activity android:name=".SettingsActivity"
60-
android:theme="@style/AppTheme"
61-
android:label="@string/settings"></activity>
58+
android:theme="@style/FullscreenTheme" />
59+
<activity
60+
android:name=".SettingsActivity"
61+
android:label="@string/settings"
62+
android:theme="@style/AppTheme" />
6263
</application>
6364

6465
</manifest>

app/src/main/java/com/todobom/opennotescanner/OpenNoteScannerActivity.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,6 @@ public void onClick(View view) {
194194
}
195195
});
196196

197-
checkCreatePermissions();
198-
199197
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
200198

201199
Display display = getWindowManager().getDefaultDisplay();
@@ -496,6 +494,8 @@ public void onResume() {
496494
Log.d(TAG,"myBuild "+ build);
497495
}
498496

497+
checkCreatePermissions();
498+
499499
CustomOpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback);
500500

501501
if (mImageThread == null ) {
@@ -1073,19 +1073,24 @@ private void statsOptInDialog() {
10731073
@Override
10741074
public void onClick(DialogInterface dialog, int which) {
10751075
mSharedPref.edit().putBoolean("usage_stats",true);
1076+
mSharedPref.edit().putBoolean("isFirstRun",false);
1077+
dialog.dismiss();
10761078
}
10771079
});
10781080

10791081
statsOptInDialog.setNegativeButton(R.string.answer_no, new DialogInterface.OnClickListener() {
10801082
@Override
10811083
public void onClick(DialogInterface dialog, int which) {
10821084
mSharedPref.edit().putBoolean("usage_stats",false);
1085+
mSharedPref.edit().putBoolean("isFirstRun",false);
1086+
dialog.dismiss();
10831087
}
10841088
});
10851089

10861090
statsOptInDialog.setNeutralButton(R.string.answer_later, new DialogInterface.OnClickListener() {
10871091
@Override
10881092
public void onClick(DialogInterface dialog, int which) {
1093+
dialog.dismiss();
10891094
}
10901095
});
10911096

app/src/main/java/com/todobom/opennotescanner/OpenNoteScannerApplication.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, Strin
2020
if (key.equals("usage_stats")) {
2121
mOptOut = !sharedPreferences.getBoolean("usage_stats", false);
2222
getPiwik().setOptOut(mOptOut);
23+
24+
// when user opt-in, register the download
25+
if (!mOptOut) {
26+
getTracker().trackAppDownload(OpenNoteScannerApplication.this, Tracker.ExtraIdentifier.APK_CHECKSUM);
27+
}
2328
}
2429
}
2530
};
@@ -44,6 +49,12 @@ public void onCreate() {
4449
private void initPiwik() {
4550
mSharedPref = PreferenceManager.getDefaultSharedPreferences(this);
4651

52+
// enable usage stats on google play
53+
if (BuildConfig.FLAVOR.equals("gplay") && mSharedPref.getBoolean("isFirstRun",true)) {
54+
mSharedPref.edit().putBoolean("usage_stats", true);
55+
mSharedPref.edit().putBoolean("isFirstRun", false);
56+
}
57+
4758
// usage stats is optional and only when not debugging
4859
mOptOut = !mSharedPref.getBoolean("usage_stats", false);
4960
getPiwik().setOptOut(mOptOut);

app/src/main/java/com/todobom/opennotescanner/helpers/CustomOpenCVLoader.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public void onServiceDisconnected(ComponentName name) {
4343
private static long myDownloadReference;
4444
private static LoaderCallbackInterface Callback;
4545
private static String Version;
46+
private static AlertDialog mAskInstallDialog;
4647

4748

4849
public static boolean isFDroidInstalled(Context context) {
@@ -167,6 +168,12 @@ public static boolean initAsync(String version, final Context AppContext, Loader
167168
Version = version;
168169
Callback = callback;
169170

171+
// if dialog is showing, remove
172+
if (mAskInstallDialog != null) {
173+
mAskInstallDialog.dismiss();
174+
mAskInstallDialog = null;
175+
}
176+
170177
// if don't have google play, check for OpenCV before trying to init
171178
if (!isOpenCVInstalled(Version,AppContext) && ( isFDroidInstalled(AppContext) || !isGooglePlayInstalled(AppContext))) {
172179

@@ -207,6 +214,7 @@ public void onCancel(DialogInterface dialog) {
207214
dm.remove(myDownloadReference);
208215
AppContext.unregisterReceiver(onComplete);
209216
dialog.dismiss();
217+
mAskInstallDialog = null;
210218
}
211219
});
212220

@@ -216,6 +224,7 @@ public void onClick(DialogInterface dialog, int which) {
216224
dm.remove(myDownloadReference);
217225
AppContext.unregisterReceiver(onComplete);
218226
dialog.dismiss();
227+
mAskInstallDialog = null;
219228
}
220229
});
221230

@@ -235,12 +244,14 @@ public void onClick(DialogInterface dialog, int which) {
235244
}
236245
});
237246

238-
askInstallOpenCV.create().show();
247+
mAskInstallDialog = askInstallOpenCV.create();
248+
249+
mAskInstallDialog.show();
239250

240251
} else {
241252
// initialize opencv
242253
return OpenCVLoader.initAsync(Version, AppContext, Callback);
243-
};
254+
}
244255

245256
return false;
246257

0 commit comments

Comments
 (0)