Skip to content

Commit 7a75bcb

Browse files
committed
fix(android): bottomsheet working in ESM
1 parent 3de6a0a commit 7a75bcb

File tree

5 files changed

+274
-206
lines changed

5 files changed

+274
-206
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
dependencies {
3+
def androidXAppCompatVersion = project.hasProperty("androidXAppCompatVersion") ? project.androidXAppCompatVersion : "1.1.0"
4+
def androidXMaterial = project.hasProperty("androidXMaterial") ? project.androidXMaterial : "1.1.0"
5+
6+
compile "androidx.appcompat:appcompat:$androidXAppCompatVersion"
7+
compile "com.google.android.material:material:$androidXMaterial"
8+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.nativescript.material.bottomsheet;
2+
3+
import android.content.Context;
4+
import android.view.ViewGroup;
5+
import android.view.View;
6+
7+
public class BottomSheetDialog extends com.google.android.material.bottomsheet.BottomSheetDialog {
8+
public interface BottomSheetDialogListener {
9+
boolean onBackPressed(BottomSheetDialog dialog);
10+
11+
void onDetachedFromWindow(BottomSheetDialog dialog);
12+
}
13+
14+
BottomSheetDialogListener listener;
15+
16+
public BottomSheetDialog(Context context, int themeResId) {
17+
super(context, themeResId);
18+
}
19+
20+
public void setListener(BottomSheetDialogListener listener) {
21+
this.listener = listener;
22+
}
23+
24+
@Override
25+
public void onBackPressed() {
26+
if (listener == null || !listener.onBackPressed(this)) {
27+
super.onBackPressed();
28+
}
29+
}
30+
31+
public void onDetachedFromWindow() {
32+
super.onDetachedFromWindow();
33+
if (listener != null) {
34+
listener.onDetachedFromWindow(this);
35+
}
36+
}
37+
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
package com.nativescript.material.bottomsheet;
2+
3+
import android.content.Context;
4+
import android.view.ViewGroup;
5+
import android.view.View;
6+
7+
public class BottomSheetDialogFragment extends com.google.android.material.bottomsheet.BottomSheetDialogFragment {
8+
public interface BottomSheetDialogFragmentListener {
9+
android.app.Dialog onCreateDialog(BottomSheetDialogFragment fragment, android.os.Bundle savedInstanceState);
10+
11+
android.view.View onCreateView(BottomSheetDialogFragment fragment, android.view.LayoutInflater inflater, android.view.ViewGroup container,
12+
android.os.Bundle savedInstanceState);
13+
14+
void onStart(BottomSheetDialogFragment fragment);
15+
16+
void onDismiss(BottomSheetDialogFragment fragment, android.content.DialogInterface dialog);
17+
18+
void onDestroy(BottomSheetDialogFragment fragment);
19+
}
20+
21+
BottomSheetDialogFragmentListener listener;
22+
23+
public BottomSheetDialogFragment() {
24+
super();
25+
}
26+
27+
public void setListener(BottomSheetDialogFragmentListener listener) {
28+
this.listener = listener;
29+
}
30+
31+
@Override
32+
public android.app.Dialog onCreateDialog(android.os.Bundle savedInstanceState) {
33+
if (listener != null) {
34+
return listener.onCreateDialog(this, savedInstanceState);
35+
}
36+
return super.onCreateDialog(savedInstanceState);
37+
}
38+
39+
@Override
40+
public android.view.View onCreateView(android.view.LayoutInflater inflater, android.view.ViewGroup container,
41+
android.os.Bundle savedInstanceState) {
42+
if (listener != null) {
43+
return listener.onCreateView(this, inflater, container, savedInstanceState);
44+
}
45+
46+
return super.onCreateView(inflater, container, savedInstanceState);
47+
}
48+
49+
@Override
50+
public void onStart() {
51+
super.onStart();
52+
if (listener != null) {
53+
listener.onStart(this);
54+
}
55+
}
56+
57+
@Override
58+
public void onDismiss(android.content.DialogInterface dialog) {
59+
super.onDismiss(dialog);
60+
if (listener != null) {
61+
listener.onDismiss(this, dialog);
62+
}
63+
}
64+
65+
@Override
66+
public void onDestroy() {
67+
super.onDestroy();
68+
if (listener != null) {
69+
listener.onDestroy(this);
70+
}
71+
}
72+
73+
}

0 commit comments

Comments
 (0)