Swiggy v4.51.1版本的 MD5 值为:5af7ec91512a0a8c1510e3f8bac20b8b

以下内容为反编译后的 TrackOrderDeliveryInstructionsViewModel.java 源代码,内容仅作参考


package in.swiggy.android.track.viewmodels.v3.deliveryInstructions;

import android.graphics.drawable.Drawable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import androidx.databinding.ViewDataBinding;
import androidx.lifecycle.y;
import androidx.navigation.NavController;
import com.swiggy.delivery.deliverycontroller.deliveryinstructor.v1.Instruction;
import com.swiggy.delivery.deliverycontroller.deliveryinstructor.v1.InstructionType;
import com.swiggy.pos.service.grpc.v1.DeliveryInstructions;
import in.swiggy.android.commons.extension.KotlinExtensionsKt;
import in.swiggy.android.commons.utils.ICoroutineHelper;
import in.swiggy.android.commonsFeature.baseviewmodels.a;
import in.swiggy.android.commonsui.ui.view.c;
import in.swiggy.android.commonsui.view.fonts.Font;
import in.swiggy.android.dls.f;
import in.swiggy.android.mvvm.b;
import in.swiggy.android.track.databinding.w0;
import in.swiggy.android.track.fragments.e;
import in.swiggy.android.track.g;
import in.swiggy.android.track.l;
import in.swiggy.android.track.viewmodels.v3.deliveryInstructions.TrackDeliveryInstructionAnim;
import in.swiggy.android.trackkit.models.FTUEType;
import in.swiggy.android.trackkit.models.TrackFTUEToolTipData;
import java.util.ArrayList;
import java.util.List;
import kotlin.Pair;
import kotlin.Result;
import kotlin.Unit;
import kotlin.collections.CollectionsKt___CollectionsKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.o;
import kotlin.n;
import kotlin.text.q;
public final class TrackOrderDeliveryInstructionsViewModel extends a implements TrackDeliveryInstructionAnim.a, b {
    private final String k;
    private DeliveryInstructions l;
    private final in.swiggy.android.track.services.v3.a m;
    private String n;
    private final y<Boolean> o;
    private final y<SpannableString> p;
    private final TrackDeliveryInstructionAnim q;
    private final Function0<Unit> r;
    private w0 s;

    public TrackOrderDeliveryInstructionsViewModel(in.swiggy.android.commonsFeature.baseviewmodels.b sharedState, String str, DeliveryInstructions deliveryInstructions, in.swiggy.android.track.services.v3.a trackV3Service, String str2) {
        super(sharedState);
        boolean z;
        List<Instruction> instructionsList;
        o.k(sharedState, "sharedState");
        o.k(trackV3Service, "trackV3Service");
        this.k = str;
        this.l = deliveryInstructions;
        this.m = trackV3Service;
        this.n = str2;
        DeliveryInstructions deliveryInstructions2 = this.l;
        if (deliveryInstructions2 != null && (instructionsList = deliveryInstructions2.getInstructionsList()) != null) {
            z = instructionsList.isEmpty();
        } else {
            z = true;
        }
        this.o = new y<>(Boolean.valueOf(z));
        this.p = new y<>();
        this.q = new TrackDeliveryInstructionAnim(KotlinExtensionsKt.y(N().getString("delivery_instructions_track_anim_delay", "30"), Long.parseLong("30")), KotlinExtensionsKt.w(N().getString("delivery_instructions_track_anim_repeat_count", "2"), Integer.parseInt("2")), this);
        this.r = new Function0<Unit>() {
            {
                super(0);
            }

            @Override
            public Unit invoke() {
                invoke2();
                return Unit.a;
            }

            public final void invoke2() {
                String str3;
                in.swiggy.android.track.services.v3.a aVar;
                DeliveryInstructions unused;
                final String m7 = TrackOrderDeliveryInstructionsViewModel.this.m7();
                str3 = TrackOrderDeliveryInstructionsViewModel.this.k;
                if (str3 == null || m7 == null) {
                    return;
                }
                unused = TrackOrderDeliveryInstructionsViewModel.this.l;
                final TrackOrderDeliveryInstructionsViewModel trackOrderDeliveryInstructionsViewModel = TrackOrderDeliveryInstructionsViewModel.this;
                aVar = trackOrderDeliveryInstructionsViewModel.m;
                aVar.O2();
                trackOrderDeliveryInstructionsViewModel.I2().a(new Function1<NavController, Unit>() {
                    {
                        super(1);
                    }

                    public final void a(NavController emit) {
                        Object b;
                        String str4;
                        o.k(emit, "$this$emit");
                        try {
                            Result.a aVar2 = Result.b;
                            emit.x(g.deliveryInstructionsFragment);
                            b = Result.b(Boolean.TRUE);
                        } catch (Throwable th) {
                            Result.a aVar3 = Result.b;
                            b = Result.b(n.a(th));
                        }
                        if (Result.f(b) != null) {
                            b = Boolean.FALSE;
                        }
                        if (!((Boolean) b).booleanValue()) {
                            e.a aVar4 = e.a;
                            str4 = TrackOrderDeliveryInstructionsViewModel.this.k;
                            emit.O(aVar4.a(str4, m7));
                        }
                    }

                    @Override
                    public Unit invoke(NavController navController) {
                        a(navController);
                        return Unit.a;
                    }
                });
                TrackOrderDeliveryInstructionsViewModel.this.v7(true);
            }
        };
        DeliveryInstructions deliveryInstructions3 = this.l;
        if (deliveryInstructions3 != null) {
            x7(deliveryInstructions3);
        }
        w7();
    }

    private final void A7(SpannableString spannableString, int i, int i2) {
        spannableString.setSpan(new c(k().a(Font.Bold)), i, i2, 18);
        if (spannableString.length() > i2) {
            spannableString.setSpan(new c(k().a(Font.Regular)), i2 + 1, spannableString.length(), 18);
        }
        spannableString.setSpan(new ForegroundColorSpan(r0().n(f.slateAlpha75)), i, i2, 18);
    }

    private final SpannableString l7(String str, int i) {
        SpannableString spannableString = new SpannableString("  " + str);
        z7(spannableString);
        A7(spannableString, 2, i + 2);
        return spannableString;
    }

    private final Pair<String, Integer> n7(List<Instruction> list, String str) {
        boolean C;
        boolean C2;
        boolean C3;
        String str2 = "Delivery partner will";
        String string = N().getString("delivery_instructions_prefix", "Delivery partner will");
        if (string != null) {
            str2 = string;
        }
        String string2 = r0().getString(l.only_directions_title);
        String string3 = r0().getString(l.delivery_instructions);
        ArrayList arrayList = new ArrayList();
        for (Instruction instruction : list) {
            if (instruction.getSelected() && instruction.getType() != InstructionType.INSTRUCTION_TYPE_REACH) {
                String instructorText = instruction.getInstructorText();
                o.j(instructorText, "getInstructorText(...)");
                arrayList.add(instructorText);
            }
        }
        C = q.C(str);
        if (C && arrayList.isEmpty()) {
            return null;
        }
        if (arrayList.isEmpty()) {
            return new Pair<>(string2 + "\n" + str, Integer.valueOf(string2.length()));
        }
        if (arrayList.size() == 1) {
            C3 = q.C(str);
            if (C3) {
                String str3 = arrayList.get(0);
                return new Pair<>(string3 + "\n" + str2 + " " + ((Object) str3), Integer.valueOf(string3.length()));
            }
        }
        C2 = q.C(str);
        return t7(arrayList, str2, !C2);
    }

    private final SpannableString o7() {
        SpannableString spannableString = new SpannableString(r0().getString(l.delivery_instructions_add));
        A7(spannableString, 0, spannableString.length());
        return spannableString;
    }

    private final Pair<String, Integer> t7(List<String> list, String str, boolean z) {
        Object v0;
        String string = r0().getString(l.reach_as_per_directions);
        if (!z) {
            string = list.get(0);
        }
        StringBuilder sb = new StringBuilder(str + " " + string);
        int size = list.size() + (-1);
        for (int i = !z ? 1 : 0; i < size; i++) {
            String str2 = list.get(i);
            sb.append(", " + ((Object) str2));
        }
        v0 = CollectionsKt___CollectionsKt.v0(list);
        sb.append(" & " + v0);
        int size2 = list.size();
        if (z) {
            size2++;
        }
        String str3 = size2 + " " + r0().getString(l.track_del_instruction_heading);
        return new Pair<>(str3 + " " + ((Object) sb), Integer.valueOf(str3.length()));
    }

    public final void v7(boolean z) {
        SpannableString f;
        if (r7()) {
            if (o.f(this.o.f(), Boolean.TRUE)) {
                f = r0().getString(l.track_delivery_instructions_error);
            } else {
                f = this.p.f();
            }
            in.swiggy.android.analytics.gtm.g r = g3().r("track_v3", "add-delivery-instructions", this.k, "-", String.valueOf(f));
            if (z) {
                g3().b(r);
            } else {
                g3().j(r);
            }
        }
    }

    private final void w7() {
        TrackFTUEToolTipData a0 = this.m.a0();
        if (a0 != null && a0.c() == FTUEType.DELIVERY_INST_FTUE_TOOLTIP) {
            ICoroutineHelper.DefaultImpls.c(this, new TrackOrderDeliveryInstructionsViewModel$handleFtueToast$1$1(this, a0, null), 1000L, null, 4, null);
        }
    }

    private final void z7(SpannableString spannableString) {
        Drawable c = r0().c(in.swiggy.android.track.f.ic_del_instruction_tick);
        c.setBounds(0, 0, c.getIntrinsicWidth(), c.getIntrinsicHeight());
        spannableString.setSpan(new in.swiggy.android.commonsui.ui.view.a(c, 1), 0, 1, 18);
    }

    @Override
    public void D3(long j, Function0<Unit> onCompletion) {
        o.k(onCompletion, "onCompletion");
        e6(new TrackOrderDeliveryInstructionsViewModel$startDelay$1(j, onCompletion, null));
    }

    public final String m7() {
        return this.n;
    }

    public final TrackDeliveryInstructionAnim p7() {
        return this.q;
    }

    public final y<SpannableString> q7() {
        return this.p;
    }

    public final boolean r7() {
        DeliveryInstructions deliveryInstructions = this.l;
        if (deliveryInstructions != null) {
            return deliveryInstructions.getDelInstructionsEnabled();
        }
        return false;
    }

    @Override
    public void s2(in.swiggy.android.mvvm.services.q bindingService) {
        o.k(bindingService, "bindingService");
        ViewDataBinding a = bindingService.a();
        if (a instanceof w0) {
            this.s = (w0) a;
        }
    }

    public final y<Boolean> s7() {
        return this.o;
    }

    public final Function0<Unit> u7() {
        return this.r;
    }

    public final void x7(DeliveryInstructions deliveryInstructions) {
        SpannableString o7;
        o.k(deliveryInstructions, "deliveryInstructions");
        this.l = deliveryInstructions;
        this.o.r(Boolean.valueOf(deliveryInstructions.getInstructionsList().isEmpty()));
        List<Instruction> instructionsList = deliveryInstructions.getInstructionsList();
        o.j(instructionsList, "getInstructionsList(...)");
        String directionsToReach = deliveryInstructions.getDirectionsToReach();
        o.j(directionsToReach, "getDirectionsToReach(...)");
        Pair<String, Integer> n7 = n7(instructionsList, directionsToReach);
        if (n7 == null || (o7 = l7(n7.d(), n7.e().intValue())) == null) {
            o7 = o7();
        }
        this.p.r(o7);
        this.q.j("https://media-assets.swiggy.com/swiggy/raw/upload/v1652085577/lottie/DelInstructions.json");
        v7(false);
    }

    public final void y7(String str) {
        this.n = str;
    }
}