mirror of
https://github.com/gsantner/dandelion
synced 2024-11-22 12:22:08 +01:00
Added long click action to Debug Log. User can copy log to clipboard using long click
This commit is contained in:
parent
83ea03ab60
commit
1b06e20c84
4 changed files with 30 additions and 8 deletions
|
@ -18,6 +18,8 @@
|
||||||
*/
|
*/
|
||||||
package com.github.dfa.diaspora_android.activity;
|
package com.github.dfa.diaspora_android.activity;
|
||||||
|
|
||||||
|
import android.content.ClipData;
|
||||||
|
import android.content.ClipboardManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
@ -36,6 +38,7 @@ import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.github.dfa.diaspora_android.App;
|
import com.github.dfa.diaspora_android.App;
|
||||||
import com.github.dfa.diaspora_android.R;
|
import com.github.dfa.diaspora_android.R;
|
||||||
|
@ -204,7 +207,20 @@ public class AboutActivity extends AppCompatActivity {
|
||||||
TextView deviceName = (TextView) rootView.findViewById(R.id.fragment_debug__device_name);
|
TextView deviceName = (TextView) rootView.findViewById(R.id.fragment_debug__device_name);
|
||||||
TextView podDomain = (TextView) rootView.findViewById(R.id.fragment_debug__pod_domain);
|
TextView podDomain = (TextView) rootView.findViewById(R.id.fragment_debug__pod_domain);
|
||||||
logBox = (TextView) rootView.findViewById(R.id.fragment_debug__log_box);
|
logBox = (TextView) rootView.findViewById(R.id.fragment_debug__log_box);
|
||||||
|
logBox.setOnLongClickListener(new View.OnLongClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onLongClick(View view) {
|
||||||
|
Log.d(App.TAG, "Long click registered");
|
||||||
|
if(isAdded()) {
|
||||||
|
ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(CLIPBOARD_SERVICE);
|
||||||
|
ClipData clip = ClipData.newPlainText("DEBUG_LOG", Log.getLogBuffer());
|
||||||
|
clipboard.setPrimaryClip(clip);
|
||||||
|
Toast.makeText(DebugFragment.this.getActivity(), R.string.fragment_debug__toast_log_copied, Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
else Log.d(App.TAG, "Not Added!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
Log.addLogObserver(this);
|
Log.addLogObserver(this);
|
||||||
update(Log.getInstance(), null);
|
update(Log.getInstance(), null);
|
||||||
|
|
||||||
|
@ -237,12 +253,7 @@ public class AboutActivity extends AppCompatActivity {
|
||||||
@Override
|
@Override
|
||||||
public void update(Observable observable, Object o) {
|
public void update(Observable observable, Object o) {
|
||||||
if(logBox != null) {
|
if(logBox != null) {
|
||||||
ArrayList<String> logs = Log.getLogBuffer();
|
logBox.setText(Log.getLogBuffer());
|
||||||
String log = "";
|
|
||||||
for(String s : logs) {
|
|
||||||
log = log + s+"\n";
|
|
||||||
}
|
|
||||||
logBox.setText(log);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -76,10 +76,18 @@ public class Log extends Observable{
|
||||||
l.notifyLogBufferChanged();
|
l.notifyLogBufferChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ArrayList<String> getLogBuffer() {
|
public static ArrayList<String> getLogBufferArray() {
|
||||||
return getInstance().logBuffer;
|
return getInstance().logBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getLogBuffer() {
|
||||||
|
String out = "";
|
||||||
|
for(String s : getInstance().logBuffer) {
|
||||||
|
out = out + s + "\n";
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
private void notifyLogBufferChanged() {
|
private void notifyLogBufferChanged() {
|
||||||
if(observers == null) return;
|
if(observers == null) return;
|
||||||
for(Observer o : observers) {
|
for(Observer o : observers) {
|
||||||
|
|
|
@ -85,6 +85,8 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:clickable="true"
|
||||||
|
android:longClickable="true"
|
||||||
android:id="@+id/fragment_debug__log_box" />
|
android:id="@+id/fragment_debug__log_box" />
|
||||||
</HorizontalScrollView>
|
</HorizontalScrollView>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
<string name="fragment_debug__android_version">Android Version: %1$s</string>
|
<string name="fragment_debug__android_version">Android Version: %1$s</string>
|
||||||
<string name="fragment_debug__device_name">Device Name: %1$s</string>
|
<string name="fragment_debug__device_name">Device Name: %1$s</string>
|
||||||
<string name="fragment_debug__pod_domain">Pod Domain: %1$s</string>
|
<string name="fragment_debug__pod_domain">Pod Domain: %1$s</string>
|
||||||
|
<string name="fragment_debug__toast_log_copied">Debug log copied to clipboard</string>
|
||||||
<string name="fragment_license__3rd_party_libs_title">Used 3rd Party Libraries</string>
|
<string name="fragment_license__3rd_party_libs_title">Used 3rd Party Libraries</string>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue