Skip to content
This repository was archived by the owner on Jan 16, 2019. It is now read-only.

Commit 72f2790

Browse files
committed
added fabric crash reports and some dependency cleanup
1 parent fdfc411 commit 72f2790

18 files changed

+205
-333
lines changed

.idea/gradle.xml

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/modules.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/app.iml

Lines changed: 75 additions & 76 deletions
Large diffs are not rendered by default.

app/build.gradle

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
apply plugin: 'com.android.application'
2+
apply plugin: 'io.fabric'
3+
4+
repositories {
5+
maven { url 'https://maven.fabric.io/public' }
6+
}
7+
8+
9+
def versionMajor = 1
10+
def versionMinor = 4
11+
def versionPatch = 2
12+
def versionBuild = 0 // bump for dogfood builds, public betas, etc.
213

314
android {
4-
compileSdkVersion 23
5-
buildToolsVersion '23.0.2'
15+
compileSdkVersion 24
16+
buildToolsVersion '24.0.2'
617

718
defaultConfig {
819
applicationId "com.ov3rk1ll.kinocast"
920
minSdkVersion 10
10-
targetSdkVersion 23
11-
versionName '1.4.0'
12-
versionCode 1400
21+
targetSdkVersion 24
22+
23+
versionCode versionMajor * 10000 + versionMinor * 1000 + versionPatch * 100 + versionBuild
24+
versionName "${versionMajor}.${versionMinor}.${versionPatch}"
1325

1426
applicationVariants.all { variant ->
1527
variant.outputs.each { output ->
@@ -27,25 +39,37 @@ android {
2739

2840
buildConfigField "boolean", "GMS_CHECK", "true"
2941
buildConfigField "boolean", "ENABLE_HELP", "false"
42+
43+
Properties properties = new Properties()
44+
properties.load(project.rootProject.file('local.properties').newDataInputStream())
45+
resValue "string", "fabric_mopub_key",properties.getProperty('FABRIC_MOPUB_KEY')
46+
manifestPlaceholders = [ FABRIC_API_KEY: properties.getProperty('FABRIC_API_KEY')]
3047
}
3148
buildTypes {
3249
release {
50+
//shrinkResources true
3351
minifyEnabled false
3452
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
3553
}
3654
}
3755
}
3856

3957
dependencies {
40-
//compile fileTree(dir: 'libs', include: ['*.jar'])
41-
compile 'com.android.support:appcompat-v7:23.2.0'
42-
compile 'com.android.support:design:23.2.0'
43-
compile 'com.google.android.gms:play-services:8.4.0'
44-
compile 'com.android.support:recyclerview-v7:23.2.0'
45-
compile 'com.android.support:palette-v7:23.2.0'
58+
compile fileTree(dir: 'libs', include: ['*.jar'])
59+
compile 'com.android.support:appcompat-v7:24.2.0'
60+
compile 'com.android.support:design:24.2.0'
61+
compile 'com.android.support:recyclerview-v7:24.2.0'
62+
compile 'com.android.support:palette-v7:24.2.0'
4663
compile 'com.squareup.okhttp:okhttp:2.7.5'
47-
compile 'org.jsoup:jsoup:1.8.3'
48-
compile 'com.google.android.libraries.cast.companionlibrary:ccl:2.8.2'
49-
//compile project(':libs:ShowcaseView')
50-
//compile project(':libs:CastCompanionLibrary-android')
51-
}
64+
compile 'org.jsoup:jsoup:1.9.1'
65+
compile 'com.google.android.libraries.cast.companionlibrary:ccl:2.8.4'
66+
compile('com.mopub:mopub-sdk:4.8.0@aar') {
67+
transitive = true;
68+
}
69+
compile('io.fabric.sdk.android:fabric:1.3.10@aar') {
70+
transitive = true;
71+
}
72+
compile('com.crashlytics.sdk.android:crashlytics:2.6.2@aar') {
73+
transitive = true;
74+
}
75+
}

app/proguard-rules.pro

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,6 @@
1515
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
1616
# public *;
1717
#}
18+
-dontwarn android.support.v7.**
19+
-keep class android.support.v7.** { *; }
20+
-keep interface android.support.v7.** { *; }

app/src/main/AndroidManifest.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,19 @@
9494
</activity>
9595
<meta-data
9696
android:name="io.fabric.ApiKey"
97-
android:value="9bfc76c431caa3d3368271ebf4c58936cbb5e74f" />
97+
android:value="${FABRIC_API_KEY}" />
98+
<activity
99+
android:name="com.mopub.mobileads.MoPubActivity"
100+
android:configChanges="keyboardHidden|orientation|screenSize" />
101+
<activity
102+
android:name="com.mopub.mobileads.MraidActivity"
103+
android:configChanges="keyboardHidden|orientation|screenSize" />
104+
<activity
105+
android:name="com.mopub.common.MoPubBrowser"
106+
android:configChanges="keyboardHidden|orientation|screenSize" />
107+
<activity
108+
android:name="com.mopub.mobileads.MraidVideoPlayerActivity"
109+
android:configChanges="keyboardHidden|orientation|screenSize" />
98110
</application>
99111

100112
</manifest>

app/src/main/java/com/ov3rk1ll/kinocast/TrackingApplication.java

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import android.preference.PreferenceManager;
66
import android.util.Log;
77

8-
import com.google.android.gms.analytics.GoogleAnalytics;
9-
import com.google.android.gms.analytics.Tracker;
8+
import com.crashlytics.android.Crashlytics;
109
import com.ov3rk1ll.kinocast.api.KinoxParser;
1110
import com.ov3rk1ll.kinocast.api.Parser;
1211

13-
import java.util.HashMap;
12+
import io.fabric.sdk.android.Fabric;
1413

1514
public class TrackingApplication extends Application {
1615

@@ -21,24 +20,6 @@ public void onCreate() {
2120
Parser.selectParser(preferences.getInt("parser", KinoxParser.PARSER_ID));
2221
Log.i("selectParser", "ID is " + Parser.getInstance().getParserId());
2322
super.onCreate();
24-
}
25-
26-
public enum TrackerName {
27-
APP_TRACKER, // Tracker used only in this app.
28-
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
29-
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
30-
}
31-
32-
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
33-
34-
public synchronized Tracker getTracker(TrackerName trackerId) {
35-
if (!mTrackers.containsKey(trackerId)) {
36-
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
37-
Tracker t = analytics.newTracker(getString(R.string.ga_trackingId));
38-
t.enableAutoActivityTracking(true);
39-
mTrackers.put(trackerId, t);
40-
41-
}
42-
return mTrackers.get(trackerId);
23+
Fabric.with(this, new Crashlytics());
4324
}
4425
}

app/src/main/java/com/ov3rk1ll/kinocast/api/KinoxParser.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import org.jsoup.select.Elements;
2020

2121
import java.io.IOException;
22-
import java.io.UnsupportedEncodingException;
2322
import java.net.URLEncoder;
2423
import java.util.ArrayList;
2524
import java.util.Arrays;
@@ -31,8 +30,8 @@ public class KinoxParser extends Parser{
3130
public static final int PARSER_ID = 0;
3231
public static final String URL_BASE = "http://www.kinox.tv/";
3332

34-
private static final SparseArray<Integer> languageResMap = new SparseArray<Integer>();
35-
private static final SparseArray<String> languageKeyMap = new SparseArray<String>();
33+
private static final SparseArray<Integer> languageResMap = new SparseArray<>();
34+
private static final SparseArray<String> languageKeyMap = new SparseArray<>();
3635
static {
3736
languageResMap.put(1, R.drawable.lang_de); languageKeyMap.put(1, "de");
3837
languageResMap.put(2, R.drawable.lang_en); languageKeyMap.put(2, "de");
@@ -65,7 +64,7 @@ public int getParserId(){
6564
}
6665

6766
private List<ViewModel> parseList(Document doc){
68-
List<ViewModel> list = new ArrayList<ViewModel>();
67+
List<ViewModel> list = new ArrayList<>();
6968
Elements files = doc.select("div.MiniEntry");
7069

7170
for(Element element : files){
@@ -127,7 +126,7 @@ private ViewModel parseDetail(Document doc, ViewModel item){
127126
item.setSeriesID(Integer.valueOf(rel));
128127
// Fill seasons and episodes
129128
Elements seasons = doc.select("select#SeasonSelection > option");
130-
List <Season> list = new ArrayList<Season>();
129+
List <Season> list = new ArrayList<>();
131130
for(Element season : seasons){
132131
String[] rels = season.attr("rel").split(",");
133132
Season s = new Season();
@@ -139,7 +138,7 @@ private ViewModel parseDetail(Document doc, ViewModel item){
139138
item.setSeasons(list.toArray(new Season[list.size()]));
140139
}else{
141140
item.setType(ViewModel.Type.MOVIE);
142-
List<Host> hostlist = new ArrayList<Host>();
141+
List<Host> hostlist = new ArrayList<>();
143142
Elements hosts = doc.select("ul#HosterList").select("li");
144143
for(Element host: hosts){
145144
int hosterId = 0;
@@ -249,7 +248,7 @@ public List<Host> getHosterList(ViewModel item, int season, String episode){
249248
.timeout(10000)
250249
.get();
251250

252-
List<Host> hostlist = new ArrayList<Host>();
251+
List<Host> hostlist = new ArrayList<>();
253252
Elements hosts = doc.select("li");
254253
for(Element host: hosts){
255254
int hosterId = Integer.valueOf(host.id().replace("Hoster_", ""));
@@ -279,7 +278,7 @@ public String getMirrorLink(DetailActivity.QueryPlayTask queryTask, String url){
279278
try {
280279
queryTask.updateProgress("Get host from " + URL_BASE + url);
281280
JSONObject json = Utils.readJson(URL_BASE + url);
282-
Document doc = Jsoup.parse(json.getString("Stream"));
281+
Document doc = Jsoup.parse(json != null ? json.getString("Stream") : null);
283282
String href = doc.select("a").attr("href");
284283
queryTask.updateProgress("Get video from " + href);
285284
return href;
@@ -299,27 +298,29 @@ public String getMirrorLink(DetailActivity.QueryPlayTask queryTask, ViewModel it
299298
return getMirrorLink(queryTask, "aGET/Mirror/" + item.getSlug() + "&Hoster=" + hoster + "&Mirror=" + mirror + "&Season=" + season + "&Episode=" + episode);
300299
}
301300

301+
@SuppressWarnings("deprecation")
302302
@Override
303303
public String[] getSearchSuggestions(String query){
304304
String url = URL_BASE + "aGET/Suggestions/?q=" + URLEncoder.encode(query) + "&limit=10&timestamp=" + SystemClock.elapsedRealtime();
305305
String data = Utils.readUrl(url);
306-
try {
306+
/*try {
307307
byte ptext[] = data.getBytes("ISO-8859-1");
308308
data = new String(ptext, "UTF-8");
309309
} catch (UnsupportedEncodingException e) {
310310
e.printStackTrace();
311-
}
312-
String suggestions[] = data.split("\n");
311+
}*/
312+
String suggestions[] = data != null ? data.split("\n") : new String[0];
313313
if(suggestions[0].trim().equals("")) return null;
314-
// TODO Remove duplicates
315-
return new HashSet<String>(Arrays.asList(suggestions)).toArray(new String[0]);
314+
// Remove duplicates
315+
return new HashSet<>(Arrays.asList(suggestions)).toArray(new String[new HashSet<>(Arrays.asList(suggestions)).size()]);
316316
}
317317

318318
@Override
319319
public String getPageLink(ViewModel item){
320320
return URL_BASE + "Stream/" + item.getSlug() + ".html";
321321
}
322322

323+
@SuppressWarnings("deprecation")
323324
@Override
324325
public String getSearchPage(String query){
325326
return URL_BASE + "Search.html?q=" + URLEncoder.encode(query);

0 commit comments

Comments
 (0)