Skip to content

Instantly share code, notes, and snippets.

View raymondctc's full-sized avatar
🤔
To be or not to be?

Raymond Chan raymondctc

🤔
To be or not to be?
View GitHub Profile
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && mViewStub != null && !mHasInflated) {
View inflatedView = mViewStub.inflate();
onCreateViewAfterViewStubInflated(inflatedView, mSavedInstanceState);
afterViewStubInflated(getView());
}
}
/**
*
* @param originalViewContainerWithViewStub
*/
@CallSuper
protected void afterViewStubInflated(View originalViewContainerWithViewStub) {
mHasInflated = true;
if (originalViewContainerWithViewStub != null) {
View pb = originalViewContainerWithViewStub.findViewById(R.id.inflateProgressbar);
pb.setVisibility(View.GONE);
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_viewstub, container, false);
mViewStub = (ViewStub) view.findViewById(R.id.fragmentViewStub);
mViewStub.setLayoutResource(getViewStubLayoutResource());
mSavedInstanceState = savedInstanceState;
if (getUserVisibleHint() && !mHasInflated) {
View inflatedView = mViewStub.inflate();
onCreateViewAfterViewStubInflated(inflatedView, mSavedInstanceState);
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ProgressBar
android:id="@+id/inflateProgressbar"
android:foregroundGravity="center"
android:layout_gravity="center"
android:indeterminate="true"
android:layout_width="48dp"
public abstract class BaseViewStubFragment extends Fragment {
private Bundle mSavedInstanceState;
private boolean mHasInflated = false;
private ViewStub mViewStub;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_viewstub, container, false);
mViewStub = (ViewStub) view.findViewById(R.id.fragmentViewStub);
mViewStub.setLayoutResource(getViewStubLayoutResource());
@raymondctc
raymondctc / batch_install_apk.sh
Last active February 14, 2025 19:07
Batch install apks to multiple connected devices
#!/bin/sh
adb devices | tail -n +2 | cut -sf 1 | xargs -I \{\} -P4 adb -s \{\} install -r $1