Skip to content

Commit eab9a46

Browse files
committed
Fix latest version due to recent website changes
1 parent 3b348ce commit eab9a46

File tree

3 files changed

+26
-13
lines changed

3 files changed

+26
-13
lines changed

app/src/main/java/com/javiersantos/whatsappbetaupdater/Config.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ public class Config {
66
public static final String GITHUB_TAGS = GITHUB_URL.concat("/tags");
77
public static final String GITHUB_APK = GITHUB_URL.concat("/releases/download/");
88
public static final String WHATSAPP_URL = "http://www.whatsapp.com/android/";
9+
public static final String WHATSAPP_URL_CDN = "https://www.cdn.whatsapp.net/android/";
910
public static final String WHATSAPP_APK = WHATSAPP_URL.concat("current/WhatsApp.apk");
1011
public static final String PAYPAL_DONATION = "[email protected]";
1112

13+
public static final String PATTERN_LATEST_VERSION = "<a class=\"button\" href=\"";
14+
1215
}

app/src/main/java/com/javiersantos/whatsappbetaupdater/util/UtilsApp.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.app.PendingIntent;
55
import android.content.Context;
66
import android.content.Intent;
7+
import android.net.Uri;
78
import android.os.SystemClock;
89

910
import com.javiersantos.whatsappbetaupdater.Config;
@@ -93,4 +94,19 @@ private static Integer getHoursToMilliseconds(Integer hours) {
9394
return hours * 60 * 60 * 1000;
9495
}
9596

97+
public static String getVersionFromString(String s) {
98+
String res = "0.0.0.0";
99+
100+
Uri uri = Uri.parse(s);
101+
String withoutHost = uri.getPath();
102+
String[] split = withoutHost.split("/");
103+
String version = split[2];
104+
105+
if (!version.equals("current")) {
106+
res = version;
107+
}
108+
109+
return res;
110+
}
111+
96112
}

app/src/main/java/com/javiersantos/whatsappbetaupdater/util/UtilsAsync.java

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -314,15 +314,17 @@ public static String getLatestWhatsAppVersion() {
314314

315315
try {
316316
HttpClient client = new DefaultHttpClient();
317-
HttpGet request = new HttpGet(Config.WHATSAPP_URL);
317+
HttpGet request = new HttpGet(Config.WHATSAPP_URL_CDN);
318318
HttpResponse response = client.execute(request);
319319

320320
InputStream in = response.getEntity().getContent();
321321
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
322322
StringBuilder str = new StringBuilder();
323323
String line;
324324
while((line = reader.readLine()) != null) {
325-
str.append(line);
325+
if (line.contains(Config.PATTERN_LATEST_VERSION)) {
326+
str.append(line);
327+
}
326328
}
327329

328330
in.close();
@@ -332,18 +334,10 @@ public static String getLatestWhatsAppVersion() {
332334
e.printStackTrace();
333335
}
334336

335-
String[] split = source.split(">");
336-
int i = 0;
337-
while (i < split.length) {
338-
if (split[i].startsWith("Version")) {
339-
split = split[i].split("( )|(<)");
340-
res = split[1].trim();
341-
break;
342-
}
343-
i++;
344-
}
337+
String[] split = source.split(Config.PATTERN_LATEST_VERSION);
338+
String urlWithVersion = split[1].split("\"")[0];
345339

346-
return res;
340+
return UtilsApp.getVersionFromString(urlWithVersion);
347341
}
348342

349343
public static String getLatestAppVersion() {

0 commit comments

Comments
 (0)