0
0
mirror of https://github.com/ankidroid/Anki-Android.git synced 2024-09-20 20:03:05 +02:00

[Kotlin Migration] ExportDialogsFactory

Package: com.ichi2.anki.export
This commit is contained in:
codingtosh 2021-11-11 20:14:19 +05:30 committed by Mike Hardy
parent 4269598d60
commit ab54fb9f60
2 changed files with 23 additions and 45 deletions

View File

@ -43,7 +43,7 @@ permission notice:
// Example of class name: "/com/ichi2/anki/UIUtils.kt"
// Ensure that it starts with '/' (slash)
def source = Source.MAIN
def className = "/com/ichi2/anki/export/ExportDialogsFactory.kt"
def className = ""
enum Source {
MAIN("/src/main/java"),

View File

@ -13,57 +13,35 @@
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.ichi2.anki.export;
import com.ichi2.anki.dialogs.ExportCompleteDialog;
import com.ichi2.anki.dialogs.ExportDialog;
import com.ichi2.utils.ExtendedFragmentFactory;
package com.ichi2.anki.export
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentFactory;
import androidx.fragment.app.Fragment
import com.ichi2.anki.dialogs.ExportCompleteDialog
import com.ichi2.anki.dialogs.ExportCompleteDialog.ExportCompleteDialogListener
import com.ichi2.anki.dialogs.ExportDialog
import com.ichi2.anki.dialogs.ExportDialog.ExportDialogListener
import com.ichi2.utils.ExtendedFragmentFactory
class ExportDialogsFactory extends ExtendedFragmentFactory {
@NonNull
private final ExportCompleteDialog.ExportCompleteDialogListener mExportCompleteDialogListener;
@NonNull
private final ExportDialog.ExportDialogListener mExportDialogListener;
public ExportDialogsFactory(
@NonNull ExportCompleteDialog.ExportCompleteDialogListener exportCompleteDialogListener,
@NonNull ExportDialog.ExportDialogListener exportDialogListener
) {
this.mExportCompleteDialogListener = exportCompleteDialogListener;
this.mExportDialogListener = exportDialogListener;
internal class ExportDialogsFactory(
private val exportCompleteDialogListener: ExportCompleteDialogListener,
private val exportDialogListener: ExportDialogListener
) : ExtendedFragmentFactory() {
override fun instantiate(classLoader: ClassLoader, className: String): Fragment {
val cls = loadFragmentClass(classLoader, className)
if (cls == ExportDialog::class.java) {
return newExportDialog()
}
return if (cls == ExportCompleteDialog::class.java) {
newExportCompleteDialog()
} else super.instantiate(classLoader, className)
}
@NonNull
@Override
public Fragment instantiate(@NonNull ClassLoader classLoader, @NonNull String className) {
Class<? extends Fragment> cls = loadFragmentClass(classLoader, className);
if (cls == ExportDialog.class) {
return newExportDialog();
fun newExportDialog(): ExportDialog {
return ExportDialog(exportDialogListener)
}
if (cls == ExportCompleteDialog.class) {
return newExportCompleteDialog();
}
return super.instantiate(classLoader, className);
}
@NonNull
public ExportDialog newExportDialog() {
return new ExportDialog(mExportDialogListener);
}
@NonNull
public ExportCompleteDialog newExportCompleteDialog() {
return new ExportCompleteDialog(mExportCompleteDialogListener);
fun newExportCompleteDialog(): ExportCompleteDialog {
return ExportCompleteDialog(exportCompleteDialogListener)
}
}