Skip to content

Commit f1760f1

Browse files
authored
Development (#269)
* fix new on 1ramp section and fix user profile image cache invalidation (#264) * Fix/image sharing crash (#265) * fix image sharing from other apps crash * fix notification subscription topic * fix content create button apperance to non-allowed users (#268)
1 parent 0a5b87e commit f1760f1

File tree

9 files changed

+43
-78
lines changed

9 files changed

+43
-78
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ android {
3737
applicationId "com.hapramp"
3838
minSdkVersion 16
3939
targetSdkVersion 27
40-
versionCode 114
41-
versionName "1.1.2"
40+
versionCode 116
41+
versionName "1.1.4"
4242
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
4343
multiDexEnabled true
4444
setProperty("archivesBaseName", "1ramp_" + versionCode + "_" + versionName)

app/src/main/java/com/hapramp/datastore/JSONParser.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,12 +142,16 @@ public void parseCompetitionEligibilityResponse(String response) {
142142
}
143143

144144
private void parseAndStoreEligibility(JSONObject jsonObject) throws JSONException {
145-
if (jsonObject.has("is_competition_user")) {
146-
if (jsonObject.get("is_competition_user") instanceof Boolean) {
147-
boolean eligible = jsonObject.getBoolean("is_competition_user");
148-
HaprampPreferenceManager.getInstance().setCompetitionCreateEligibility(eligible);
149-
}else{
150-
HaprampPreferenceManager.getInstance().setCompetitionCreateEligibility(false);
145+
String username = jsonObject.optString("username", "");
146+
String loggedInUser = HaprampPreferenceManager.getInstance().getCurrentSteemUsername();
147+
if (username.equals(loggedInUser) && loggedInUser.length() > 0) {
148+
if (jsonObject.has("is_competition_user")) {
149+
if (jsonObject.get("is_competition_user") instanceof Boolean) {
150+
boolean eligible = jsonObject.getBoolean("is_competition_user");
151+
HaprampPreferenceManager.getInstance().setCompetitionCreateEligibility(eligible);
152+
} else {
153+
HaprampPreferenceManager.getInstance().setCompetitionCreateEligibility(false);
154+
}
151155
}
152156
}
153157
}

app/src/main/java/com/hapramp/datastore/SteemRequestBody.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ public static String getDelegationsListBody(String delegator) {
66
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_vesting_delegations\", \"params\":[\"" + delegator + "\",100], \"id\":1}";
77
}
88

9-
public static String getRebloggedByBody(String author,String permlink) {
10-
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_reblogged_by\", \"params\":[\""+author+"\",\""+permlink+"\"], \"id\":1}";
9+
public static String getRebloggedByBody(String author, String permlink) {
10+
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_reblogged_by\", \"params\":[\"" + author + "\",\"" + permlink + "\"], \"id\":1}";
1111
}
1212

1313
public static String getResourceCreditBody(String username) {
@@ -16,19 +16,20 @@ public static String getResourceCreditBody(String username) {
1616
}
1717

1818
public static String getSinglePostBody(String author, String permlink) {
19-
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_content\", \"params\":[\"" + author + "\"," +
19+
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_content\"," +
20+
" \"params\":[\"" + author + "\"," +
2021
" \"" + permlink + "\"], \"id\":1}";
2122
}
2223

2324
public static String discussionsByCreated(String tag) {
24-
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_discussions_by_created\"," +
25-
" \"params\":[{\"tag\":\"" + tag + "\",\"limit\":8}], \"id\":1}";
25+
return "{\"id\":1,\"jsonrpc\":\"2.0\",\"method\":\"call\",\"params\":[\"database_api\"," +
26+
"\"get_discussions_by_created\",[{\"tag\":\"" + tag + "\",\"limit\":\"50\"}]]}";
2627
}
2728

2829
public static String discussionsByCreated(String tag, String start_author, String start_permlink) {
29-
return "{\"jsonrpc\":\"2.0\", \"method\":\"condenser_api.get_discussions_by_created\"," +
30-
"\"params\":[{\"start_author\":\"" + start_author + "\",\"start_permlink\":\"" + start_permlink +
31-
"\",\"tag\":\"" + tag + "\",\"limit\":8}], \"id\":1}";
30+
return "{\"id\":1,\"jsonrpc\":\"2.0\",\"method\":\"call\",\"params\":[\"database_api\"," +
31+
"\"get_discussions_by_created\",[{\"tag\":\"" + tag + "\",\"start_author\":\"" + start_author +
32+
"\",\"start_permlink\":\"" + start_permlink + "\",\"limit\":\"50\"}]]}";
3233
}
3334

3435
public static String contentReplies(String author, String permlink) {

app/src/main/java/com/hapramp/main/HapRampMain.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public class HapRampMain extends MultiDexApplication {
1616

1717
private static Context context;
1818
private static String fp;
19+
private static String sessionId;
1920

2021
public static String getFp() {
2122
return fp;
@@ -26,6 +27,11 @@ public void onCreate() {
2627
HapRampMain.context = getApplicationContext();
2728
FirebaseApp.initializeApp(context);
2829
fp = FingerprintManager.getCertificateSHA1Fingerprint(context);
30+
sessionId = String.valueOf(System.currentTimeMillis());
31+
}
32+
33+
public static String getSessionId(){
34+
return sessionId;
2935
}
3036

3137
public static Context getContext() {

app/src/main/java/com/hapramp/notification/NotificationSubscriber.java

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -33,40 +33,12 @@ public void onSuccess(Void aVoid) {
3333
});
3434
}
3535

36-
/**
37-
* subscribe to listen for particular competition.
38-
*
39-
* @param competition_id is the topic to target participants
40-
*/
41-
public static void subscribeForParticularCompetition(String competition_id) {
42-
competition_id = "test_comp";
43-
FirebaseMessaging.getInstance().subscribeToTopic(competition_id).addOnSuccessListener(new OnSuccessListener<Void>() {
44-
@Override
45-
public void onSuccess(Void aVoid) {
46-
47-
}
48-
});
49-
}
50-
51-
/**
52-
* unsubscribe from listening for particular competition.
53-
*
54-
* @param competition_id is the topic to target participants
55-
*/
56-
public static void unsubscribeForParticularCompetition(String competition_id) {
57-
FirebaseMessaging.getInstance().unsubscribeFromTopic(competition_id).addOnSuccessListener(new OnSuccessListener<Void>() {
58-
@Override
59-
public void onSuccess(Void aVoid) {
60-
61-
}
62-
});
63-
}
6436

6537
/**
6638
* unsubscribe from listening to new competitions.
6739
*/
6840
public static void unsubscribeForNewCompetition() {
69-
String topic = "competition";
41+
String topic = "competitions";
7042
FirebaseMessaging.getInstance().unsubscribeFromTopic(topic).addOnSuccessListener(new OnSuccessListener<Void>() {
7143
@Override
7244
public void onSuccess(Void aVoid) {

app/src/main/java/com/hapramp/steem/LocalConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
public class LocalConfig {
88
public static final String PARENT_PERMALINK = "hapramp";
9-
public static final String APP_TAG = "1ramp/1.0";
9+
public static final String APP_TAG = "1ramp/1.1.4";
1010
public static final int BENEFICIARY_WEIGHT = 0; // 0% of payout
1111
public static final String BENEFICIARY_ACCOUNT = "hapramp";
1212
}

app/src/main/java/com/hapramp/ui/activity/ParticipateEditorActivity.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,6 @@ public void onResponse(Call<CompetitionEntryResponse> call, Response<Competition
347347
showPublishingProgressDialog(false, "");
348348
if (response.isSuccessful()) {
349349
toast("Confirmed your entry!");
350-
subscribeForNotification();
351350
} else {
352351
toast("Failed to confirm your entry!");
353352
}
@@ -367,10 +366,6 @@ public void onFailure(Call<CompetitionEntryResponse> call, Throwable t) {
367366
}
368367
}
369368

370-
private void subscribeForNotification() {
371-
NotificationSubscriber.subscribeForParticularCompetition(mCompetitionId);
372-
}
373-
374369
private void closeEditor() {
375370
showPublishingProgressDialog(false, "");
376371
AnalyticsUtil.logEvent(AnalyticsParams.EVENT_CREATE_ARTICLE);

app/src/main/java/com/hapramp/utils/FilePathUtils.java

Lines changed: 9 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@
44
import android.annotation.TargetApi;
55
import android.content.ContentUris;
66
import android.content.Context;
7-
import android.database.Cursor;
87
import android.net.Uri;
98
import android.os.Build;
109
import android.os.Environment;
1110
import android.provider.DocumentsContract;
1211
import android.provider.MediaStore;
13-
import android.util.Log;
1412

1513
import java.io.File;
1614
import java.io.FileNotFoundException;
@@ -55,8 +53,7 @@ public static String getPath(final Context context, final Uri uri) {
5553
else if (isDownloadsDocument(uri)) {
5654
final String id = DocumentsContract.getDocumentId(uri);
5755
final Uri contentUri = ContentUris.withAppendedId(
58-
Uri.parse("content://downloads/public_downloads"),
59-
Long.valueOf(id));
56+
Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
6057
return getDataColumn(context, contentUri, null, null);
6158
}
6259
// MediaProvider
@@ -86,7 +83,6 @@ else if ("content".equalsIgnoreCase(uri.getScheme())) {
8683
// Return the remote address
8784
if (isGooglePhotosUri(uri))
8885
return uri.getLastPathSegment();
89-
9086
return getDataColumn(context, uri, null, null);
9187
}
9288
// File
@@ -126,28 +122,15 @@ public static boolean isDownloadsDocument(Uri uri) {
126122
* @param selectionArgs (Optional) Selection arguments used in the query.
127123
* @return The value of the _data column, which is typically a file path.
128124
*/
129-
public static String getDataColumn(Context context, Uri uri,
130-
String selection, String[] selectionArgs) {
131-
Cursor cursor = null;
132-
final String column = "_data";
133-
final String[] projection = {column};
134-
125+
public static String getDataColumn(Context context,
126+
Uri uri,
127+
String selection,
128+
String[] selectionArgs) {
135129
try {
136-
cursor = context.getContentResolver().query(uri, projection,
137-
selection, selectionArgs, null);
138-
if (cursor != null && cursor.moveToFirst()) {
139-
final int index = cursor.getColumnIndexOrThrow(column);
140-
String col = cursor.getString(index);
141-
if (col != null) {
142-
return col;
143-
} else {
144-
returnPathAferSavingFile(context, uri);
145-
}
146-
}
130+
returnPathAferSavingFile(context, uri);
147131
}
148-
finally {
149-
if (cursor != null)
150-
cursor.close();
132+
catch (Exception e) {
133+
e.printStackTrace();
151134
}
152135
return nopath;
153136
}
@@ -174,7 +157,7 @@ private static String returnPathAferSavingFile(Context context, Uri uri) {
174157
try {
175158
InputStream inputStream = context.getContentResolver().openInputStream(uri);
176159
String filename = System.currentTimeMillis() + "_image.png";
177-
File file = new File(context.getFilesDir(),filename);
160+
File file = new File(context.getFilesDir(), filename);
178161
FileOutputStream output = new FileOutputStream(file);
179162
if (inputStream != null) {
180163
byte[] buffer = new byte[4 * 1024]; // or other buffer size

app/src/main/java/com/hapramp/utils/ImageHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,16 @@
1111
import com.bumptech.glide.Glide;
1212
import com.bumptech.glide.Priority;
1313
import com.bumptech.glide.load.DataSource;
14+
import com.bumptech.glide.load.Key;
1415
import com.bumptech.glide.load.engine.DiskCacheStrategy;
1516
import com.bumptech.glide.load.engine.GlideException;
1617
import com.bumptech.glide.request.RequestListener;
1718
import com.bumptech.glide.request.RequestOptions;
1819
import com.bumptech.glide.request.target.Target;
20+
import com.bumptech.glide.signature.ObjectKey;
1921
import com.crashlytics.android.Crashlytics;
2022
import com.hapramp.R;
23+
import com.hapramp.main.HapRampMain;
2124

2225
/**
2326
* Created by Ankit on 12/17/2017.
@@ -175,7 +178,8 @@ public static void loadCircularImage(final Context context, final ImageView imag
175178
RequestOptions options = new RequestOptions()
176179
.centerCrop()
177180
.placeholder(R.drawable.circular_image_placeholder)
178-
.diskCacheStrategy(DiskCacheStrategy.ALL)
181+
.diskCacheStrategy(DiskCacheStrategy.DATA)
182+
.signature(new ObjectKey(HapRampMain.getSessionId()))
179183
.priority(Priority.HIGH);
180184
Glide.with(context)
181185
.asBitmap()

0 commit comments

Comments
 (0)