Skip to content

Commit 9a67f8a

Browse files
Add profile picture support
1 parent 53f558c commit 9a67f8a

File tree

7 files changed

+34
-29
lines changed

7 files changed

+34
-29
lines changed

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,12 @@
3232
import android.content.ServiceConnection;
3333
import android.content.SharedPreferences;
3434
import android.content.res.Configuration;
35+
import android.content.res.Resources;
36+
import android.graphics.Bitmap;
37+
import android.graphics.BitmapFactory;
3538
import android.graphics.Color;
3639
import android.net.Uri;
40+
import android.os.AsyncTask;
3741
import android.os.Build;
3842
import android.os.Bundle;
3943
import android.os.Handler;
@@ -51,13 +55,26 @@
5155
import android.support.v4.widget.ViewDragHelper;
5256
import android.support.v7.app.ActionBarDrawerToggle;
5357
import android.support.v7.widget.Toolbar;
58+
import android.util.Base64;
5459
import android.util.Log;
60+
import android.util.TypedValue;
5561
import android.view.Menu;
5662
import android.view.MenuItem;
5763
import android.view.View;
5864
import android.widget.TextView;
5965
import android.widget.Toast;
6066

67+
import com.google.gson.stream.JsonReader;
68+
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
69+
70+
import java.io.ByteArrayInputStream;
71+
import java.io.ByteArrayOutputStream;
72+
import java.io.IOException;
73+
import java.io.InputStream;
74+
import java.io.InputStreamReader;
75+
import java.io.ObjectInputStream;
76+
import java.io.ObjectOutputStream;
77+
import java.io.Serializable;
6178
import java.lang.reflect.Field;
6279

6380
import butterknife.ButterKnife;
@@ -73,10 +90,11 @@
7390
import de.luhmer.owncloudnewsreader.database.DatabaseConnectionOrm;
7491
import de.luhmer.owncloudnewsreader.events.podcast.FeedPanelSlideEvent;
7592
import de.luhmer.owncloudnewsreader.helper.AidlException;
93+
import de.luhmer.owncloudnewsreader.helper.AsyncTaskHelper;
7694
import de.luhmer.owncloudnewsreader.helper.DatabaseUtils;
7795
import de.luhmer.owncloudnewsreader.helper.PostDelayHandler;
7896
import de.luhmer.owncloudnewsreader.helper.ThemeChooser;
79-
import de.luhmer.owncloudnewsreader.reader.IReader;
97+
import de.luhmer.owncloudnewsreader.reader.HttpJsonRequest;
8098
import de.luhmer.owncloudnewsreader.reader.OnAsyncTaskCompletedListener;
8199
import de.luhmer.owncloudnewsreader.reader.owncloud.API;
82100
import de.luhmer.owncloudnewsreader.reader.owncloud.OwnCloud_Reader;
@@ -514,6 +532,8 @@ private boolean syncFinishedHandler() {
514532
UpdateItemList();
515533
UpdatePodcastView();
516534

535+
AsyncTaskHelper.StartAsyncTask(new AsyncTaskGetUserInfo());
536+
517537
SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(NewsReaderListActivity.this);
518538
int newItemsCount = mPrefs.getInt(Constants.LAST_UPDATE_NEW_ITEMS_COUNT_STRING, 0);
519539

@@ -910,11 +930,13 @@ public void onClick(ViewHolder vh, int position) {
910930
private class AsyncTaskGetUserInfo extends AsyncTask<Void, Void, UserInfo> {
911931
@Override
912932
protected UserInfo doInBackground(Void... voids) {
913-
API api = API.GetRightApiForVersion("6.0.4", NewsReaderListActivity.this);
933+
SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(NewsReaderListActivity.this);
934+
String baseUrl = mPrefs.getString(SettingsActivity.EDT_OWNCLOUDROOTPATH_STRING, "");
935+
API api = API.GetRightApiForVersion("6.0.4", baseUrl);
914936

915937
try {
916938
UserInfo ui = new UserInfo();
917-
InputStream inputStream = HttpJsonRequest.PerformJsonRequest(api.getUserUrl() , null, api.getUsername(), api.getPassword(), NewsReaderListActivity.this);
939+
InputStream inputStream = HttpJsonRequest.getInstance().PerformJsonRequest(api.getUserUrl());
918940

919941
JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "UTF-8"));
920942
reader.beginObject();
@@ -959,6 +981,9 @@ protected UserInfo doInBackground(Void... voids) {
959981

960982
return ui;
961983
} catch (Exception e) {
984+
if(e.getMessage().equals("Method Not Allowed")) { //Remove if old version is used
985+
mPrefs.edit().remove("USER_INFO").commit();
986+
}
962987
e.printStackTrace();
963988
}
964989
return null;
@@ -1010,7 +1035,7 @@ private class UserInfo implements Serializable {
10101035
}
10111036

10121037
/** Read the object from Base64 string. */
1013-
private static Object fromString( String s ) throws IOException ,
1038+
private static Object fromString(String s) throws IOException ,
10141039
ClassNotFoundException {
10151040
byte [] data = Base64.decode(s, Base64.DEFAULT);
10161041
ObjectInputStream ois = new ObjectInputStream(
@@ -1021,7 +1046,7 @@ private static Object fromString( String s ) throws IOException ,
10211046
}
10221047

10231048
/** Write the object to a Base64 string. */
1024-
private static String toString( Serializable o ) throws IOException {
1049+
private static String toString(Serializable o) throws IOException {
10251050
ByteArrayOutputStream baos = new ByteArrayOutputStream();
10261051
ObjectOutputStream oos = new ObjectOutputStream( baos );
10271052
oos.writeObject(o);

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/HttpJsonRequest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@
2424
import android.content.Context;
2525
import android.content.SharedPreferences;
2626
import android.preference.PreferenceManager;
27-
import android.util.Log;
2827

29-
import com.nostra13.universalimageloader.core.download.ImageDownloader;
3028
import com.squareup.okhttp.Credentials;
3129
import com.squareup.okhttp.HttpUrl;
3230
import com.squareup.okhttp.Interceptor;
@@ -40,15 +38,13 @@
4038
import java.io.InputStream;
4139
import java.security.KeyManagementException;
4240
import java.security.NoSuchAlgorithmException;
43-
import java.util.HashMap;
4441
import java.util.concurrent.TimeUnit;
4542

4643
import javax.net.ssl.HostnameVerifier;
4744
import javax.net.ssl.SSLContext;
4845
import javax.net.ssl.SSLSession;
4946

5047
import de.luhmer.owncloudnewsreader.SettingsActivity;
51-
import de.luhmer.owncloudnewsreader.reader.owncloud.API;
5248
import de.luhmer.owncloudnewsreader.ssl.MemorizingTrustManager;
5349
import de.luhmer.owncloudnewsreader.ssl.TLSSocketFactory;
5450

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/owncloud/API.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,14 @@
2222
package de.luhmer.owncloudnewsreader.reader.owncloud;
2323

2424
import android.content.Context;
25-
import android.content.SharedPreferences;
26-
import android.preference.PreferenceManager;
27-
import android.util.Log;
2825

2926
import com.squareup.okhttp.HttpUrl;
3027

3128
import org.apache.commons.lang3.StringUtils;
3229

33-
import java.net.URL;
34-
import java.util.ArrayList;
35-
import java.util.Collections;
3630
import java.util.List;
37-
import java.util.regex.Pattern;
3831

39-
import de.luhmer.owncloudnewsreader.SettingsActivity;
4032
import de.luhmer.owncloudnewsreader.reader.FeedItemTags;
41-
import de.luhmer.owncloudnewsreader.reader.FeedItemTags.TAGS;
4233
import de.luhmer.owncloudnewsreader.reader.owncloud.apiv1.APIv1;
4334
import de.luhmer.owncloudnewsreader.reader.owncloud.apiv2.APIv2;
4435

@@ -95,7 +86,7 @@ public static API GetRightApiForVersion(String appVersion, String baseUrl) {
9586
public abstract HttpUrl getItemUpdatedUrl();
9687
public abstract HttpUrl getFeedUrl();
9788
public abstract HttpUrl getFolderUrl();
98-
89+
public abstract HttpUrl getUserUrl();
9990
public abstract HttpUrl getTagBaseUrl();
10091

10192
protected HttpUrl getAPIUrl(String format, String... urlSegments) {

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/owncloud/OwnCloudReaderMethods.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,18 @@
2222
package de.luhmer.owncloudnewsreader.reader.owncloud;
2323

2424
import android.content.Context;
25-
import android.util.Log;
2625

2726
import com.google.gson.stream.JsonReader;
2827
import com.google.gson.stream.JsonToken;
2928
import com.squareup.okhttp.HttpUrl;
3029

31-
import org.apache.commons.lang3.StringUtils;
3230
import org.json.JSONArray;
3331
import org.json.JSONException;
3432
import org.json.JSONObject;
3533

3634
import java.io.IOException;
3735
import java.io.InputStream;
3836
import java.io.InputStreamReader;
39-
import java.net.URL;
40-
import java.util.ArrayList;
4137
import java.util.Arrays;
4238
import java.util.HashMap;
4339
import java.util.List;

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/owncloud/OwnCloud_Reader.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,8 @@
2121

2222
package de.luhmer.owncloudnewsreader.reader.owncloud;
2323

24-
import android.app.Activity;
2524
import android.content.Context;
26-
import android.util.SparseArray;
2725

28-
import de.luhmer.owncloudnewsreader.reader.AsyncTask_Reader;
2926
import de.luhmer.owncloudnewsreader.reader.FeedItemTags;
3027
import de.luhmer.owncloudnewsreader.reader.OnAsyncTaskCompletedListener;
3128

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/owncloud/apiv1/APIv1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public HttpUrl getTagBaseUrl() {
6565
}
6666

6767
@Override
68-
public String getUserUrl() throws UnsupportedOperationException {
68+
public HttpUrl getUserUrl() throws UnsupportedOperationException {
6969
throw new UnsupportedOperationException();
7070
}
7171

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/reader/owncloud/apiv2/APIv2.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ public HttpUrl getTagBaseUrl() {
6464
}
6565

6666
@Override
67-
public String getUserUrl() {
68-
return getOcRootPath() + OwnCloudConstants.ROOT_PATH_APIv2 + OwnCloudConstants.USER_PATH;
67+
public HttpUrl getUserUrl() {
68+
return getAPIUrl(null, OwnCloudConstants.ROOT_PATH_APIv2, OwnCloudConstants.USER_PATH);
6969
}
7070

7171
@Override

0 commit comments

Comments
 (0)