- Custom Sharing feature debugging
This commit is contained in:
parent
edf084e42c
commit
af61b59574
|
@ -15,68 +15,34 @@
|
|||
package fr.gouv.etalab.mastodon.activities;
|
||||
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.media.ThumbnailUtils;
|
||||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.Editable;
|
||||
import android.text.Html;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import es.dmoral.toasty.Toasty;
|
||||
import fr.gouv.etalab.mastodon.R;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.CustomSharingAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.RetrieveAccountInfoAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.UpdateCredentialAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.client.API;
|
||||
import fr.gouv.etalab.mastodon.client.APIResponse;
|
||||
import fr.gouv.etalab.mastodon.client.CustomSharingResponse;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Error;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Version;
|
||||
import fr.gouv.etalab.mastodon.client.Glide.GlideApp;
|
||||
import fr.gouv.etalab.mastodon.helper.Helper;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnCustomSharingInterface;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveAccountInterface;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnUpdateCredentialInterface;
|
||||
import fr.gouv.etalab.mastodon.sqlite.AccountDAO;
|
||||
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
|
||||
|
||||
|
@ -84,8 +50,8 @@ import static fr.gouv.etalab.mastodon.helper.Helper.THEME_LIGHT;
|
|||
|
||||
|
||||
/**
|
||||
* Created by Thomas on 27/08/2017.
|
||||
* Edit profile activity
|
||||
* Created by Curtis on 13/02/2019.
|
||||
* Share status metadata to remote content aggregators
|
||||
*/
|
||||
|
||||
public class CustomSharingActivity extends BaseActivity implements OnCustomSharingInterface {
|
||||
|
@ -93,7 +59,7 @@ public class CustomSharingActivity extends BaseActivity implements OnCustomShari
|
|||
private EditText set_custom_sharing_title, set_custom_sharing_description, set_custom_sharing_keywords;
|
||||
private Button set_custom_sharing_save;
|
||||
private ImageView pp_actionBar;
|
||||
private String title, description, keywords, encodedCustomSharingURL;
|
||||
private String title, description, keywords, custom_sharing_url, encodedCustomSharingURL;
|
||||
private String bundle_url, bundle_source, bundle_id, bundle_tags, bundle_content;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
@ -154,19 +120,49 @@ public class CustomSharingActivity extends BaseActivity implements OnCustomShari
|
|||
Helper.loadGiF(getApplicationContext(), url, pp_actionBar);
|
||||
Bundle b = getIntent().getExtras();
|
||||
if(b != null) {
|
||||
bundle_url = b.getParcelable("url");
|
||||
bundle_id = b.getParcelable("id");
|
||||
bundle_source = b.getParcelable("source");
|
||||
bundle_tags = b.getParcelable("tags");
|
||||
bundle_content = b.getParcelable("content");
|
||||
bundle_url = b.getString("url");
|
||||
bundle_id = b.getString("id");
|
||||
bundle_source = b.getString("source");
|
||||
bundle_tags = b.getString("tags");
|
||||
bundle_content = b.getString("content");
|
||||
}
|
||||
set_custom_sharing_title = findViewById(R.id.set_custom_sharing_title);
|
||||
set_custom_sharing_description = findViewById(R.id.set_custom_sharing_description);
|
||||
set_custom_sharing_keywords = findViewById(R.id.set_custom_sharing_keywords);
|
||||
|
||||
//set text on title, description, and keywords
|
||||
System.out.println("Content: " + bundle_content);
|
||||
String[] lines = bundle_content.split("\n");
|
||||
set_custom_sharing_title.setText(lines[0]);
|
||||
if (lines.length >= 2) {
|
||||
String newDescription = "";
|
||||
int i = 0;
|
||||
for (String line: lines) {
|
||||
i += 1;
|
||||
if (i > 1) {
|
||||
newDescription = newDescription + line;
|
||||
}
|
||||
}
|
||||
set_custom_sharing_description.setText(newDescription);
|
||||
}
|
||||
set_custom_sharing_keywords.setText(bundle_tags);
|
||||
set_custom_sharing_save = findViewById(R.id.set_custom_sharing_save);
|
||||
set_custom_sharing_save.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
// obtain title, description, keywords
|
||||
title = set_custom_sharing_title.getText().toString();
|
||||
description = set_custom_sharing_description.getText().toString();
|
||||
keywords = set_custom_sharing_keywords.getText().toString();
|
||||
CharSequence comma_only = ",";
|
||||
CharSequence space_only = " ";
|
||||
CharSequence double_space = " ";
|
||||
keywords = keywords.replace(comma_only,space_only);
|
||||
keywords = keywords.replace(double_space,space_only);
|
||||
// Create encodedCustomSharingURL
|
||||
custom_sharing_url = sharedpreferences.getString(Helper.SET_CUSTOM_SHARING_URL,
|
||||
"http://my.site/add?user=fedilab&url=${url}&title=${title}&source=${source}&id=${id}&description=${description}&keywords=${keywords}");
|
||||
encodedCustomSharingURL = encodeCustomSharingURL(custom_sharing_url, bundle_url, bundle_id, bundle_source, title, description, keywords);
|
||||
new CustomSharingAsyncTask(getApplicationContext(), encodedCustomSharingURL, CustomSharingActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
});
|
||||
|
@ -190,8 +186,78 @@ public class CustomSharingActivity extends BaseActivity implements OnCustomShari
|
|||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||
return;
|
||||
}
|
||||
Toasty.success(getApplicationContext(), getString(R.string.toast_update_credential_ok), Toast.LENGTH_LONG).show();
|
||||
String response = customSharingResponse.getResponse();
|
||||
Toasty.success(getApplicationContext(), response, Toast.LENGTH_LONG).show();
|
||||
finish();
|
||||
}
|
||||
|
||||
public String encodeCustomSharingURL(String custom_sharing_url, String bundle_url, String bundle_id, String bundle_source, String title, String description, String keywords) {
|
||||
String url_user = "";
|
||||
String url_param_url = "";
|
||||
String url_param_title = "";
|
||||
String url_param_source = "";
|
||||
String url_param_id = "";
|
||||
String url_param_description = "";
|
||||
String url_param_keywords = "";
|
||||
Uri uri = Uri.parse(custom_sharing_url);
|
||||
String protocol = uri.getScheme();
|
||||
String server = uri.getAuthority();
|
||||
String path = uri.getPath();
|
||||
if (path != null) {
|
||||
path = path.replaceAll("/", "");
|
||||
}
|
||||
Set<String> args = uri.getQueryParameterNames();
|
||||
for (String param_name : args) {
|
||||
if (param_name.equals("user")) {
|
||||
url_user = uri.getQueryParameter("user");
|
||||
}
|
||||
String param_value = uri.getQueryParameter(param_name);
|
||||
switch(param_value) {
|
||||
case "${url}":
|
||||
url_param_url = param_name;
|
||||
break;
|
||||
case "${title}":
|
||||
url_param_title = param_name;
|
||||
break;
|
||||
case "${source}":
|
||||
url_param_source = param_name;
|
||||
break;
|
||||
case "${id}":
|
||||
url_param_id = param_name;
|
||||
break;
|
||||
case "${description}":
|
||||
url_param_description = param_name;
|
||||
break;
|
||||
case "${keywords}":
|
||||
url_param_keywords = param_name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
Uri.Builder builder = new Uri.Builder();
|
||||
builder.scheme(protocol)
|
||||
.authority(server)
|
||||
.appendPath(path);
|
||||
if (!url_user.equals("")) {
|
||||
builder.appendQueryParameter("user", url_user);
|
||||
}
|
||||
if (!url_param_url.equals("")) {
|
||||
builder.appendQueryParameter(url_param_url, bundle_url);
|
||||
}
|
||||
if (!url_param_title.equals("")) {
|
||||
builder.appendQueryParameter(url_param_title, title);
|
||||
}
|
||||
if (!url_param_source.equals("")) {
|
||||
builder.appendQueryParameter(url_param_source, bundle_source);
|
||||
}
|
||||
if (!url_param_id.equals("")) {
|
||||
builder.appendQueryParameter(url_param_id, bundle_id);
|
||||
}
|
||||
if (!url_param_description.equals("")) {
|
||||
builder.appendQueryParameter(url_param_description, description);
|
||||
}
|
||||
if (!url_param_keywords.equals("")) {
|
||||
builder.appendQueryParameter(url_param_keywords, keywords);
|
||||
}
|
||||
return builder.build().toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,16 +18,10 @@ package fr.gouv.etalab.mastodon.asynctasks;
|
|||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.HashMap;
|
||||
|
||||
import fr.gouv.etalab.mastodon.client.API;
|
||||
import fr.gouv.etalab.mastodon.client.APIResponse;
|
||||
import fr.gouv.etalab.mastodon.client.CustomSharing;
|
||||
import fr.gouv.etalab.mastodon.client.CustomSharingResponse;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnCustomSharingInterface;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnUpdateCredentialInterface;
|
||||
|
||||
/**
|
||||
* Created by Curtis on 13/02/2019.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package fr.gouv.etalab.mastodon.client;
|
||||
/* Copyright 2017 Thomas Schneider
|
||||
/* Copyright 2019 Curtis Rock
|
||||
*
|
||||
* This file is a part of Mastalab
|
||||
*
|
||||
|
@ -15,61 +15,14 @@ package fr.gouv.etalab.mastodon.client;
|
|||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
import java.security.KeyManagementException;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.text.ParseException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import fr.gouv.etalab.mastodon.R;
|
||||
import fr.gouv.etalab.mastodon.activities.MainActivity;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.RetrieveOpenCollectiveAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.asynctasks.UpdateAccountInfoAsyncTask;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Application;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Attachment;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Card;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Conversation;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Emojis;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Error;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Filters;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.HowToVideo;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Instance;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.InstanceNodeInfo;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.InstanceSocial;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Mention;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.NodeInfo;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Notification;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Peertube;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Relationship;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Results;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Schedule;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Status;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.StoredStatus;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Tag;
|
||||
import fr.gouv.etalab.mastodon.fragments.DisplayNotificationsFragment;
|
||||
import fr.gouv.etalab.mastodon.helper.Helper;
|
||||
import fr.gouv.etalab.mastodon.sqlite.AccountDAO;
|
||||
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -112,6 +65,7 @@ public class CustomSharing {
|
|||
} catch (KeyManagementException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
customSharingResponse.setResponse(HTTPResponse);
|
||||
return customSharingResponse;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
package fr.gouv.etalab.mastodon.client;
|
||||
/* Copyright 2017 Thomas Schneider
|
||||
/* Copyright 2019 Curtis Rock
|
||||
*
|
||||
* This file is a part of Mastalab
|
||||
*
|
||||
|
@ -14,189 +14,31 @@ package fr.gouv.etalab.mastodon.client;
|
|||
* You should have received a copy of the GNU General Public License along with Mastalab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Conversation;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Emojis;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Error;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Filters;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.HowToVideo;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Instance;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Notification;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Peertube;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.PeertubeNotification;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Relationship;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Status;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.StoredStatus;
|
||||
|
||||
/**
|
||||
* Created by Thomas on 03/06/2017.
|
||||
* Hydrate response from the API
|
||||
* Created by Curtis on 13/02/2019.
|
||||
* Hydrate response from the remote content aggregator for Custom Sharing
|
||||
*/
|
||||
|
||||
public class CustomSharingResponse {
|
||||
|
||||
private List<Account> accounts = null;
|
||||
private List<Status> statuses = null;
|
||||
private List<Context> contexts = null;
|
||||
private List<Conversation> conversations = null;
|
||||
private List<Notification> notifications = null;
|
||||
private List<Relationship> relationships = null;
|
||||
private List<HowToVideo> howToVideos = null;
|
||||
private List<Peertube> peertubes = null;
|
||||
private List<PeertubeNotification> peertubeNotifications = null;
|
||||
private List<Filters> filters = null;
|
||||
private List<String> domains = null;
|
||||
private List<fr.gouv.etalab.mastodon.client.Entities.List> lists = null;
|
||||
private List<Emojis> emojis = null;
|
||||
private Error error = null;
|
||||
private String since_id, max_id;
|
||||
private Instance instance;
|
||||
private List<StoredStatus> storedStatuses;
|
||||
public List<Account> getAccounts() {
|
||||
return accounts;
|
||||
}
|
||||
|
||||
public void setAccounts(List<Account> accounts) {
|
||||
this.accounts = accounts;
|
||||
}
|
||||
|
||||
public List<Status> getStatuses() {
|
||||
return statuses;
|
||||
}
|
||||
|
||||
public void setStatuses(List<Status> statuses) {
|
||||
this.statuses = statuses;
|
||||
}
|
||||
|
||||
public List<Context> getContexts() {
|
||||
return contexts;
|
||||
}
|
||||
|
||||
public void setContexts(List<Context> contexts) {
|
||||
this.contexts = contexts;
|
||||
}
|
||||
|
||||
public List<Notification> getNotifications() {
|
||||
return notifications;
|
||||
}
|
||||
|
||||
public void setNotifications(List<Notification> notifications) {
|
||||
this.notifications = notifications;
|
||||
}
|
||||
private String response;
|
||||
|
||||
public Error getError() {
|
||||
return error;
|
||||
}
|
||||
|
||||
public String getResponse() {
|
||||
return response;
|
||||
}
|
||||
|
||||
public void setError(Error error) {
|
||||
this.error = error;
|
||||
}
|
||||
|
||||
public String getMax_id() {
|
||||
return max_id;
|
||||
}
|
||||
|
||||
public void setMax_id(String max_id) {
|
||||
this.max_id = max_id;
|
||||
}
|
||||
|
||||
public String getSince_id() {
|
||||
return since_id;
|
||||
}
|
||||
|
||||
public void setSince_id(String since_id) {
|
||||
this.since_id = since_id;
|
||||
}
|
||||
|
||||
public Instance getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public void setInstance(Instance instance) {
|
||||
this.instance = instance;
|
||||
}
|
||||
|
||||
public List<Relationship> getRelationships() {
|
||||
return relationships;
|
||||
}
|
||||
|
||||
public void setRelationships(List<Relationship> relationships) {
|
||||
this.relationships = relationships;
|
||||
}
|
||||
|
||||
public List<Emojis> getEmojis() {
|
||||
return emojis;
|
||||
}
|
||||
|
||||
public void setEmojis(List<Emojis> emojis) {
|
||||
this.emojis = emojis;
|
||||
}
|
||||
|
||||
public List<fr.gouv.etalab.mastodon.client.Entities.List> getLists() {
|
||||
return lists;
|
||||
}
|
||||
|
||||
public void setLists(List<fr.gouv.etalab.mastodon.client.Entities.List> lists) {
|
||||
this.lists = lists;
|
||||
}
|
||||
|
||||
public List<Filters> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
public void setFilters(List<Filters> filters) {
|
||||
this.filters = filters;
|
||||
}
|
||||
|
||||
public List<String> getDomains() {
|
||||
return domains;
|
||||
}
|
||||
|
||||
public void setDomains(List<String> domains) {
|
||||
this.domains = domains;
|
||||
}
|
||||
|
||||
public List<HowToVideo> getHowToVideos() {
|
||||
return howToVideos;
|
||||
}
|
||||
|
||||
public void setHowToVideos(List<HowToVideo> howToVideos) {
|
||||
this.howToVideos = howToVideos;
|
||||
}
|
||||
|
||||
public List<Peertube> getPeertubes() {
|
||||
return peertubes;
|
||||
}
|
||||
|
||||
public void setPeertubes(List<Peertube> peertubes) {
|
||||
this.peertubes = peertubes;
|
||||
}
|
||||
|
||||
public List<Conversation> getConversations() {
|
||||
return conversations;
|
||||
}
|
||||
|
||||
public void setConversations(List<Conversation> conversations) {
|
||||
this.conversations = conversations;
|
||||
}
|
||||
|
||||
public List<StoredStatus> getStoredStatuses() {
|
||||
return storedStatuses;
|
||||
}
|
||||
|
||||
public void setStoredStatuses(List<StoredStatus> storedStatuses) {
|
||||
this.storedStatuses = storedStatuses;
|
||||
}
|
||||
|
||||
public List<PeertubeNotification> getPeertubeNotifications() {
|
||||
return peertubeNotifications;
|
||||
}
|
||||
|
||||
public void setPeertubeNotifications(List<PeertubeNotification> peertubeNotifications) {
|
||||
this.peertubeNotifications = peertubeNotifications;
|
||||
public void setResponse(String response) {
|
||||
this.response = response;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2102,13 +2102,13 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
|||
bCustomSharing.putString("source", status.getReblog().getAccount().getDisplay_name());
|
||||
bCustomSharing.putString("id", status.getReblog().getId());
|
||||
bCustomSharing.putString("tags", status.getReblog().getTagsString());
|
||||
bCustomSharing.putString("content", status.getReblog().getContent());
|
||||
bCustomSharing.putString("content", status.getReblog().getContentSpan().toString());
|
||||
} else {
|
||||
bCustomSharing.putString("url", status.getUrl());
|
||||
bCustomSharing.putString("source", status.getAccount().getDisplay_name());
|
||||
bCustomSharing.putString("id", status.getId());
|
||||
bCustomSharing.putString("tags", status.getTagsString());
|
||||
bCustomSharing.putString("content", status.getContent());
|
||||
bCustomSharing.putString("content", status.getContentSpan().toString());
|
||||
}
|
||||
intentCustomSharing.putExtras(bCustomSharing);
|
||||
context.startActivity(intentCustomSharing);
|
||||
|
|
|
@ -482,14 +482,33 @@ public class SettingsFragment extends Fragment {
|
|||
}
|
||||
});
|
||||
|
||||
String custom_sharing_url = sharedpreferences.getString(Helper.SET_CUSTOM_SHARING_URL,
|
||||
"http://my.site/add?user=fedilab&url=${url}&title=${title}&source=${source}&id=${id}&descripition=${description}&keywords=${keywords}");
|
||||
String custom_sharing_url = sharedpreferences.getString(Helper.SET_CUSTOM_SHARING_URL,"");
|
||||
final EditText edit_custom_sharing_url = rootView.findViewById(R.id.custom_sharing_url);
|
||||
if (custom_sharing_url.equals("")) {
|
||||
custom_sharing_url = "http://my.site/add?user=fedilab&url=${url}&title=${title}&source=${source}&id=${id}&descripition=${description}&keywords=${keywords}";
|
||||
custom_sharing_url = "http://my.site/add?user=fedilab&url=${url}&title=${title}&source=${source}&id=${id}&description=${description}&keywords=${keywords}";
|
||||
}
|
||||
edit_custom_sharing_url.setText(custom_sharing_url);
|
||||
|
||||
|
||||
edit_custom_sharing_url.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||
editor.putString(Helper.SET_CUSTOM_SHARING_URL, s.toString().trim());
|
||||
editor.apply();
|
||||
}
|
||||
});
|
||||
|
||||
boolean display_direct = sharedpreferences.getBoolean(Helper.SET_DISPLAY_DIRECT, true);
|
||||
final CheckBox set_display_direct = rootView.findViewById(R.id.set_display_direct);
|
||||
set_display_direct.setChecked(display_direct);
|
||||
|
|
Loading…
Reference in New Issue