Skip to content

Instantly share code, notes, and snippets.

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Uri uri = getIntent().getData();
if (uri != null) {
copyTextToClipboard(uri.toString());
Toast.makeText(this, R.string.link_copied_to_clipboard, Toast.LENGTH_SHORT).show();
}
<activity
android:name=".CopyToClipboardActivity"
android:exported="false"
android:icon="@mipmap/ic_copy_link"
android:label="@string/copy_link_to_clipboard"
android:theme="@android:style/Theme.NoDisplay">
</activity>
public void loadShortUrl(String url, final ShortUrlCallBack callBack) {
Call<ShortUrlResult> call = mNaverService.getShortUrl(url);
call.enqueue(new Callback<ShortUrlResult>() {
@Override
public void onResponse(Call<ShortUrlResult> call, Response<ShortUrlResult> response) {
if (callBack != null) {
if (response.body() != null) {
callBack.onShortUrlSuccess(response.body().getResult());
} else {
callBack.onShortUrlFail();
private void createNaverApi() {
mNaverService = new Retrofit.Builder()
.baseUrl(NAVER_SERVICE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build()
.create(NaverService.class)
}
public class ShortUrlResult{
String message;
String code;
ShortUrlData result;
public ShortUrlData getResult() {
return result;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position, @NonNull List<Object> payloads) {
if (payloads.isEmpty()) {
super.onBindViewHolder(holder, position, payloads);
} else {
for (Object payload : payloads) {
if (payload instanceof String) {
String type = (String) payload;
if (holder instanceof TextHolder) {
TextHolder textHolder = (TextHolder) holder;
findViewById(R.id.last_item_favorite_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//refresh last item
adapter.notifyItemChanged(adapter.getItemCount() - 1, "click1");
adapter.notifyItemChanged(adapter.getItemCount() - 1, "click2");
adapter.notifyItemChanged(adapter.getItemCount() - 1, "click3");
}
});
findViewById(R.id.all_item_favorite_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
TextHolder textHolder = (TextHolder) holder;
textHolder.mTextView.setText(items.get(position));
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position, @NonNull List<Object> payloads) {
if (payloads.isEmpty()) {
super.onBindViewHolder(holder, position, payloads);
RecyclerView recyclerView = findViewById(R.id.recyclerview);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setItemAnimator(null);
final ArrayList<String> items = new ArrayList<>();
items.add("hello~ item1");
items.add("hello~ item2");
items.add("hello~ item3");
final RecyclerAdapter adapter = new RecyclerAdapter(items);
public interface NaverService {
@Headers({
"X-Naver-Client-Id: " + NaverConsts.CLIENT_ID,
"X-Naver-Client-Secret: " + NaverConsts.CLIENT_SECRET
})
@GET("/v1/util/shorturl")
Call<ShortUrlResult> getShortUrl(@Query("url") String url);
}